2021年6月28日

摘要: 概念区分: 1.顶层const:指的是const修饰的变量本身是一个常量,无法修改,指的是指针,就是 * 号的右边 2.底层const:指的是const修饰的变量所指向的对象是一个常量,指的是所指变量,就是 * 号的左边 区分作用: 1.执行对象拷贝时有限制,常量的底层const不能赋值给非常量的底 阅读全文
posted @ 2021-06-28 00:44 超人不会灰啊 阅读(79) 评论(0) 推荐(0) 编辑

2021年6月26日

摘要: 大端存储:字数据的高字节存储在低地址中 小端存储:字数据的低字节存储在低地址中 如何在代码中进行判断呢?下面介绍两种判断方式: 阅读全文
posted @ 2021-06-26 21:57 超人不会灰啊 阅读(95) 评论(0) 推荐(0) 编辑
 
摘要: 1.public的变量和函数在类的内部外部都可以访问。 2.protected的变量和函数只能在类的内部和其派生类中访问。 3.private修饰的元素只能在类内访问。 (一)访问权限 派生类可以继承基类中除了构造/析构、赋值运算符重载函数之外的成员,但是这些成员的访问属性在 派生过程中也是可以调整 阅读全文
posted @ 2021-06-26 21:50 超人不会灰啊 阅读(306) 评论(0) 推荐(0) 编辑
 
摘要: (1)auto C++11新标准引入了auto类型说明符,用它就能让编译器替我们去分析表达式所属的类型。和原来那些只对应某种特定的类型说明符(例如 int)不同,auto 让编译器通过初始值来进行类型推演。从而获得定义变量的类型,所以说 auto 定义的变量必须 有初始值。举个例子: (2)decl 阅读全文
posted @ 2021-06-26 21:26 超人不会灰啊 阅读(739) 评论(0) 推荐(0) 编辑
 
摘要: 首先,将这些函数声明为内联函数,在语法上没有错误。因为inline同register一样,只是建议编译器这样操作,编译器并不一定真正的内联。 register关键字:这个关键字请求编译器尽可能的将变量存在CPU内部寄存器中,而不是通过内存 寻址访问,以提高效率 构造函数和析构函数声明为内联函数是没有 阅读全文
posted @ 2021-06-26 20:57 超人不会灰啊 阅读(440) 评论(0) 推荐(0) 编辑

2021年6月24日

摘要: 内联(inline)函数和普通函数相比可以加快程序运行的速度,因为不需要中断调用,在编译的时候内联函 数可以直接嵌入到目标代码中。 一、内联函数适用场景 1.使用宏定义的地方都可以使用inline函数 2.作为类成员接口函数来读写类的私有成员或者保护成员,会提高效率 二、为什么不能把所有的函数写成内 阅读全文
posted @ 2021-06-24 07:10 超人不会灰啊 阅读(458) 评论(0) 推荐(0) 编辑

2021年6月23日

摘要: 浅拷贝: 浅拷贝只是拷贝一个指针,并没有新开辟一个地址,拷贝的指针和原来的指针指向同一块地址,如果原 来的指针所指向的资源释放了,那么再释放浅拷贝的指针的资源就会出现错误。 深拷贝: 深拷贝不仅拷贝值,还开辟出一块新的空间用来存放新的值,即使原先的对象被析构掉,释放内存了也 不会影响到深拷贝得到的值 阅读全文
posted @ 2021-06-23 22:00 超人不会灰啊 阅读(64) 评论(0) 推荐(0) 编辑
 
摘要: C++的多态性,一言以蔽之就是: 在基类的函数前加上virtual关键字,在派生类中重写该函数,运行时将会根据所指对象的实际类型来 调用相应的函数,如果对象类型是派生类,就调用派生类的函数,如果对象类型是基类,就调用基类的 函数。 举个例子: 例子中,Base为基类,其中的函数为虚函数。子类1继承并 阅读全文
posted @ 2021-06-23 21:56 超人不会灰啊 阅读(148) 评论(0) 推荐(0) 编辑
 
摘要: (1)重载(overload) 重载是指在同一范围定义中的同名成员函数才存在重载关系。主要特点是函数名相同,参数类型和数目 有所不同,不能出现参数个数和类型均相同,仅仅依靠返回值不同来区分的函数。重载和函数成员是否 是虚函数无关。举个例子: (2)重写(覆盖)(override) 重写指的是在派生类 阅读全文
posted @ 2021-06-23 16:56 超人不会灰啊 阅读(231) 评论(0) 推荐(0) 编辑
 
摘要: 构造函数: 1.构造函数不能定义为虚函数。在构造函数中可以调用虚函数,不过此时调用的是正在构造的类中的 虚函数,而不是子类的虚函数,因为此时子类尚未构造好。 2.虚函数对应一个vtable(虚函数表),类中存储一个vptr指向这个vtable。如果构造函数是虚函数, 就需要通过vtable调用,可是 阅读全文
posted @ 2021-06-23 16:31 超人不会灰啊 阅读(660) 评论(0) 推荐(0) 编辑