
02C/C++语言基础知识
博雅勇士
90后,奋斗中,编程爱好者,Linux爱好者,嵌入式软件开发
展开
-
12章C++ STL容器 —— vector 用法详解
所有总结都在https://blog.youkuaiyun.com/wzh1378008099/article/details/105953273本篇参考:https://blog.youkuaiyun.com/wzh1378008099/article/details/105731489文章目录1、vector简介2、 构造函数3、访问 / 赋值3.1 迭代器3.2 下标 / at3.3 assign (赋值函数)3.4 swap (交换函数)4. 常用函数长度 / 空间 / 容量相关函数添加元素insert (插入函数)e原创 2020-06-10 10:02:43 · 351 阅读 · 0 评论 -
详解 (1)C++ 文件和流 (2)常用的成员函数
文章目录C++流与文件C++ ofstream和ifstream详细用法fstream::is_open()函数C++流与文件来源:https://blog.youkuaiyun.com/weixin_43610684/article/details/89887645输入(input)是将计算机输入设备上的数据读入内存,并赋给相应的变量;输出(output)是将数据输出到计算机的输出设备上;将上述操作简称为I/O;一:C++的流a.C++的输入、输出系统通过一种称为流的机制实现文件和控制台的输入输出操作。流是原创 2020-06-09 10:53:13 · 1801 阅读 · 0 评论 -
#pragma pack(1) 的作用是什么?
设置结构体的边界对齐为1个字节,也就是所有数据在内存中是连续存储的。比如你在C语言中定义下面这样的结构体:struct s {char ch;int i;};然后在主函数中写一句:printf("%d", sizeof(struct s))也就是输出结构体s所占的字节数你觉得输出结果会是多少呢?我们知道,char型占用1个字节,int型占4个字节,那么输出的结果是5吗?答案是否定的。你可以自己试一下,输出结果为8。为什么会这样呢?这是因为编译器为了让程序跑得跟快,减少CPU读取数据的指原创 2020-06-01 13:59:43 · 4498 阅读 · 0 评论 -
C++参数初始化列表详解
博客01https://www.cnblogs.com/wangbin-heng/p/9550233.htmlC++参数初始化列表1、举例:foo(string s, int i):name(s), id(i){} ; // 初始化列表 即将字符串s的值赋给name。2、默认构造函数:没有参数或参数有默认值的构造函数 class();或class(int age=12,name=“xiao ming”);二、必须使用参数初始化列表的情况 1、初始化引用成员 2、初始化const变量原创 2020-06-01 12:32:37 · 4212 阅读 · 0 评论 -
(1)各种数据类型在16位、32位和64位系统下所占字节差异简介(2)各种数据类型的输出控制符
编写C、C++程序时需要考虑每种数据类型在内存中所占的内存大小,即使同一种数据类型在不同平台下所占内存大小亦不相同,具体对比如下:数据类型16位系统(byte)32位系统(byte)64位系统(byte)备注char111short 、unsigned short222int、unsigned int244long、unsigned long448float444数据类型 16位系统(byte)原创 2020-05-29 15:22:51 · 741 阅读 · 0 评论 -
C++中类的(static)静态成员变量与(static)静态成员函数
文章目录文章01文章021、 static修饰类中成员,表示类的共享数据2、static类成员2.static类成员函数参考文章:https://blog.youkuaiyun.com/lms1008611/article/details/81408236https://blog.youkuaiyun.com/u014453898/article/details/64124269文章01在C语言中,我们知道有static静态变量,生命周期与作用域都跟普通变量有所不同。而在C++的类中,也有静态成员变量同时还有静态成员函原创 2020-05-21 10:00:37 · 659 阅读 · 0 评论 -
12STL——map的基本操作总结
文章目录文章011、pair类型1.1、pair类型的定义和初始化2、map对象的定义和初始化文章021、map简介2、map的功能3、定义map, 使用map4、map的构造函数5、插入元素6、 查找元素7、 刪除与清空元素8、map的大小9、map的基本操作函数:参考:01链接:https://blog.youkuaiyun.com/google19890102/article/details/51720305标准库map类型是一种以键-值(key-value)存储的数据类型。以下分别从以下的几个方面总结:原创 2020-05-19 13:59:54 · 211 阅读 · 0 评论 -
c++中的编译,构建有什么区别?各是起什么作用?
参考01:https://zhidao.baidu.com/question/20987143.html编译:把当前源代码编百译成2进制目标文件构建:先把工程中所有源代码编译度成目标文件,再link链接成可执行文件(或者lib、dll,看具体工程)。这其中,如果有源文件在此之前知被单独编译过,这道个文件就不参加编译,它之前编译时产生的目标文件参加link(链接)过程。重新构建:就是内不管之前有没有源文件被单独编译,都要参与编容译。不同的C++编译环境可能不一定叫构建,但都有类似的功能。...原创 2020-05-11 14:47:30 · 4119 阅读 · 0 评论 -
()C++11 Lambda表达式(匿名函数)详解
文章目录来源:https://www.cnblogs.com/jimodetiantang/p/9016826.html概述C++ 11 中的 Lambda 表达式用于定义并创建匿名的函数对象,以简化编程工作。Lambda 的语法形式如下:[函数对象参数] (操作符重载函数参数) mutable 或 exception 声明 -> 返回值类型 {函数体}可以看到,Lambda...原创 2019-12-17 18:30:19 · 137 阅读 · 0 评论 -
第10章结构体01——结构体字节大小的计算
1、该篇笔记详见C提高笔记(传智播客)文章目录博文01:(常考面试题) 三步解决C语言中struct字节对齐问题,结构体的字节大小问题博文02:(课外阅读) C语言字节对齐、结构体对齐最详细的解释一、概念二、为什么要字节对齐三、正确处理字节对齐四、__attribute__选项五、什么时候需要设置对齐一、快速理解二、深入理解二.字节对齐对程序的影响:三.编译器是按照什么样的原则进行对齐的?四.如...原创 2019-11-13 10:46:37 · 1276 阅读 · 0 评论 -
纯虚函数和抽象类
文章目录二、抽象类abstract class :这个详见C语言中文网的教程。二、抽象类abstract class :抽象类是一种特殊的类,它是为了抽象和设计的目的为建立的,它处于继承层次结构的较上层。抽象类的定义:称带有纯虚函数的类为抽象类。称带有纯虚函数的类为抽象类。抽象类的作用:抽象类的主要作用是将有关的操作作为结果接口组织在一个继承层次结构中,由它来为派生类提供一个公共的根...原创 2019-11-07 22:00:01 · 290 阅读 · 0 评论 -
类中哪些函数不能为虚函数
原文链接:http://www.cnblogs.com/bubbler/p/4916979.html不能为虚函数的有:(1)构造函数,(2)静态函数,(3)内联函数,(4)友元函数理解角度:(1)因为多态是动态联编的。(2)从编译器的角度去理解,你的境界就不一样了构造函数,因为从语义上不支持,本来是为了明确初始化对象成员才产生的。静态函数,归类所有,没有动态绑定的必要性。内联函数,在...原创 2019-11-06 16:04:21 · 615 阅读 · 0 评论 -
《C语言:常用的字符串处理函数总结》
参考博文01:https://blog.youkuaiyun.com/qq_33757398/article/details/81212618常用的字符串处理函数 C语言编译系统中提供了很多有关字符串处理的库函数,这些库函数为字符串处理提供了方便,下面总结下几种有关字符串处理的函数。1、输出字符串函数puts:(1)函数原型:(2)功能:puts函数用于输出一个以"\0"结尾的字符串,在输出时将...原创 2019-10-30 19:57:10 · 873 阅读 · 0 评论 -
C++ 类——const修饰普通成员函数,通常放在最后面
目录:一、经典问题:C++ 类中,const修饰普通成员函数时修饰的是谁?二、const修饰普通成员函数三、全局函数和成员函数一、经典问题:C++ 类中,const修饰普通成员函数时修饰的是谁?函数的后面放const的情况 ,不能说是const修饰函数,因为const修饰的是谁,需要研究分析本节学习:在一个类中,类的成员函数void OpVar( int a, int b) co...原创 2019-10-25 22:24:27 · 1761 阅读 · 0 评论 -
02_C++面向对象的三大特征的面试题总结 2019.10.22
王保明老师交代的多态的面试题都总结上来。三、多态【题目1】什么是多态【题目1】多态的实现效果?【解答】多态:同样的调用语句有多种不同的变现形式。也可以说成一种 接口,多种方法(函数)。传智扫地僧老师说过:多态就是一个函数(自己搭建的那个舞台)在子类中穿梭的时候表现出的不同的形态。【题目38】什么是多态?【解答】(1)多态性:允许将父类对象设置为和一个或更多的它的子对象相等的技术...原创 2019-10-22 22:54:12 · 242 阅读 · 0 评论 -
const、static变量存放位置 解析
参考博客01:https://blog.youkuaiyun.com/fayery/article/details/26505771博客02:https://blog.youkuaiyun.com/qq_43152052/article/details/99306967一、博客01我们将以下面的例子介绍const变量和static变量的存放位置:static int val_a = 1; // 初始化的静态变量...原创 2019-10-19 23:31:01 · 4055 阅读 · 0 评论 -
编程中的链式操作;链式操作应该注意哪些问题?(需要更加完善)
参考:https://baike.baidu.com/item/%E9%93%BE%E5%BC%8F%E6%93%8D%E4%BD%9C/18112085?fr=aladdin链式操作;链式操作应该注意哪些问题?1、作用:链式操作可以方便的实现功能,而且可以精简代码。定义链式操作:编程语言中的链式操作是利用运算符进行的连续运算(操作)。它的特点是在一条语句中出现两个或者两个以上相同的操作...原创 2019-10-19 23:06:04 · 664 阅读 · 0 评论 -
C/C++ 中volatile关键字——一种类型修饰符
参考博文01 https://blog.youkuaiyun.com/qq_29350001/article/details/54024070博文02 https://blog.youkuaiyun.com/K346K346/article/details/46941497一、总结 (本人喜欢先写最重要的东西,博文01)volatile 关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更...原创 2019-10-16 20:09:37 · 340 阅读 · 0 评论 -
第6章 数组第3篇——(1)数组指针和指针数组 (2)定义数组指针变量的三种方式
一、参考博文01https://blog.youkuaiyun.com/GorgeousChou/article/details/102248189对指针数组和数组指针的概念,相信很多C程序员都会混淆。下面通过两个简单的语句来分析一下二者之间的区别,示例代码如下所示:二、数组指针和指针数组int p1[5];int (p2)[5];首先,对于语句“intp1[5]”,因为“[]”的优先级要比“”要...原创 2019-10-15 12:15:36 · 336 阅读 · 0 评论 -
深入理解extern的用法 以及 声明和定义的区别
参考:博文1:https://blog.youkuaiyun.com/m0_37962600/article/details/78334077博文2:https://blog.youkuaiyun.com/z702143700/article/details/46805241一、英语学习extern adj. 外面的;外来的;对外的二、c++中定义和声明的区别 (博文1)一.基本理解1.定义和声明的...原创 2019-10-13 11:12:53 · 2767 阅读 · 0 评论 -
c++语言中static关键字用法详解:(1)static修饰普通的变量和函数(2)static修饰类的成员变量和成员方法
参考:https://www.cnblogs.com/love-yh/p/7507630.htmlhttps://blog.youkuaiyun.com/guotianqing/article/details/79828100static全局变量、static局部变量、static函数问题一:static全局变量与普通的全局变量有什么区别?问题二:static局部变量和普通局部变量有什么区别?问题三...原创 2019-10-12 23:12:21 · 1515 阅读 · 0 评论 -
全局变量与静态全局变量的异同
参考:https://www.cnblogs.com/wangf-keep/p/6477907.html一、首先要理解生存周期与作用域的区别:1、生存周期: 变量从定义到销毁的时间范围。存放在全局数据区的变量的生存周期存在于整个程序运行期间,而存放在栈中的数据则随着函数等的作用域结束导致出栈而销毁,除了静态变量之外的局部变量都存放于栈中。2、作用域: 变量的可见代码域(块作用域,函数作用域...原创 2019-10-15 12:17:58 · 394 阅读 · 0 评论 -
动态内存分配——new和delete的使用方法 完美记录
参考:https://blog.youkuaiyun.com/wise18146705004/article/details/792967531、new和delete是C++的运算符。2、为什么会产生new和delete运算符?对于计算机程序设计而言,变量和对象在内存中的分配都是编译器在编译程序时安排好的,这带来了极大的不便,如数组必须大开小用,指针必须指向一个已经存在的变量或对象。对于不能确定需要占...原创 2019-10-12 20:47:43 · 2668 阅读 · 0 评论 -
05 指向字符串的指针、字符串常量指针、常量指针和指针常量区别
参考链接:https://blog.youkuaiyun.com/lee_u/article/details/52374265https://blog.youkuaiyun.com/usstmiracle/article/details/79539359一、基础知识指向字符串的指针1: 什么是字符串:用双引号括起来的0个或多个字符。“123”2: 字符串的结束符号’\0’'\0’它是一个字符,不是一个字符串...原创 2019-10-09 22:01:45 · 3265 阅读 · 1 评论 -
04一篇彻底理解 指针常量和常量指针 指向常量的常指针
1、在汉语中,定语一般都放在中心词的前面,像C语言和C++语言这种技术性语言,更是如此。所以定语重要还是中心词重要,肯定是中心词重要。如:美丽的女孩 美丽的是定语 女孩是中心词女孩肯定是重要,是本质。2、同理:我们先不讲技术,先从字面意思来理解:指针常量 常量指针函数指针 指针函数指针常量:指针是定语,常量是中心词,所以指针常...原创 2019-10-09 21:24:22 · 2501 阅读 · 8 评论 -
c++类的大小计算——面试也经常考
c++中类所占的大小计算并没有想象中那么简单,因为涉及到虚函数成员,静态成员,虚继承,多继承以及空类等,不同情况有对应的计算方式,在此对各种情况进行总结。首先要明确一个概念,平时所声明的类只是一种类型定义,它本身是没有大小可言的。 我们这里指的类的大小,其实指的是类的对象所占的大小。因此,如果用sizeof运算符对一个类型名操作,得到的是具有该类型实体的大小。关于类/类的实例对象大小的计算(...原创 2019-10-09 19:02:39 · 460 阅读 · 1 评论 -
谈谈C/C++语言的类型安全——面试题
参考:https://blog.youkuaiyun.com/chenyq991/article/details/74015270https://blog.youkuaiyun.com/ixsea/article/details/6693178#commentBox什么是类型安全?类型安全很大程度上可以等价于内存安全,类型安全的代码不会试图访问自己没被授权的内存区域。2、“类型安全”常被用来形容编程语言,其根据在...原创 2019-10-08 18:29:32 · 534 阅读 · 0 评论