
Cpp真经
有关Cpp的一些核心要义
三境界
九层之台起于垒土
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Cpp真经8---STL 认识headers,版本,重要资源/STL体系结构
标准库 > STL 标准库以header files形式呈现 C++标准库的header files不带.h,但是仍然可以使用旧式C header files 新式的headers内的组件封装于namespace “std” 旧式的headers内的组件不被封装与namespace “std”; using namespace std; //or using std::cout; 重要网页 CPlusPlus.com CppReferrence.com gcc.gnu.org 书籍推荐 THE原创 2022-04-14 18:50:06 · 595 阅读 · 0 评论 -
Cpp真经8---对象模型和this指针
成员函数与成员变量分开存储 结论:非静态成员变量才属于对象身上 空类的大小为1 每个实例的对象都有独一无二的地址 用一个char维护这个地址 this指针 this指针指向被调用的成员函数所属的对象 C++规定,this指针隐含在对象非静态成员函数中,当一个对象被创建后,它的每一个成员函数都含有一个系统自动生成的隐含指针this,用以保存这个对象的地址,虽然我们调用时没有写上这个this指针,但是编译器在编译时会加上 this指针不是对象的一部分,用sizeof探测不会多出这个指针的大小 编译器做的一些原创 2022-01-28 15:51:17 · 711 阅读 · 0 评论 -
Cpp真经7---单例模式
/ SingleTon 1 default constructor and copy constructro must be private 2 make a instance pointor and set it private 3 provide a getInstance Method to be external so that user can get the sole instance / #include <iostream> using namespace std; /*****原创 2022-01-23 22:35:18 · 496 阅读 · 0 评论 -
Cpp真经6---内联函数,函数的重载
内联函数 为了解决宏函数的缺陷,所以引入了内敛函数。 在适当的地方像预定义宏一样展开,所以不需要函数调用的开销,不应该再使用宏函数,而是使用内联函数。 函数定义时在函数前加上inline关键字,建议编译器将该函数作为内联函数。 ...原创 2022-01-22 21:27:44 · 471 阅读 · 0 评论 -
Cpp真经5---引用的本质,指针的引用,常量引用
引用的本质 引用的本质是常指针 C++编译器在编译过程中使用常指针作为引用的内部实现,因此引用所占的空间大小与指针相同。 由编译器内部实现,用户不可见 ref = 100l; //ref是引用 ---> *ref=100; int a=10; int& aRef = a; //自动转化为 int* const aRef = &a; 因为指针常量必须要初始化,所以引用也必须初始化,而且引用的对象也无法更改 aRef = 20l //内部发现aRef是引用,自动转化为: *aRe原创 2022-01-21 21:59:37 · 449 阅读 · 0 评论 -
Cpp真经3--子类与父类的构造函数关系
子类可以继承父类所有的成员但是子类无法继承父类的构造函数,因为子类需要从父类中继承所以必须先调用子类的构造函数。 如果子类没有定义构造函数,则默认调用父类的构造函数 如果子类定义了构造函数,不管是有参数还是无参数的,会先调用父类的无参构造函数,再去调用自己的构造函数。 也就是说如果子类没有显式的调用父类的构造函数,则会默认地调用父类无参的构造函数。 如果父类只提供了有参数构造函数,那子类在继承时必须要显式调用这个有参数构造函数 对于析构,和构造一样子类在析构时也会调用父类的析构函数,不过顺序相反,先调用子类原创 2022-01-06 13:32:02 · 679 阅读 · 0 评论 -
Cpp真经2--静态成员
1,静态成员变量相当于同一个类所有实例之间的一个全局变量 2,一般情况下一个类设计完成之后如果不实例化出对象,在内存中是不会占用存储空间的 当一个类中引入静态存储变量后情况就不一样了 3,静态成员变量必须在类外进行声明或者初始化,否则在使用的时候会报链接错误 int CStudent::Master = 0; 4,不能用初始化列表去是实话静态成员变量 5,可以使用类名去使用静态成员变量 6,静态成员变量也可以设置为public但是无法直接设置为private,可以配套使用一个get成员函数和set成员函数原创 2022-01-03 23:13:02 · 307 阅读 · 0 评论 -
Cpp真经1--拷贝构造与拷贝赋值
浅拷贝/深拷贝 如果类中包含了指针形式的成员变量,缺省的拷贝构造只是复制了指针变量自身,而没有复制指针所指向的内容,这种拷贝方式被称为浅拷贝。浅拷贝将会导致不同对象之间的数据共享,如果数据在堆区,析构时还可能会引发"double free",导致进程终止,所以就必须自定义一个指针复制指针所指向内容的拷贝构造函数,即深拷贝。当两个对象进行赋值操作时,比如“i3=i2”,编译器会自动将其处理为i3.operator=(i3)成员函数调用形式,其中"operator="被称为拷贝赋值操作符函数,由该函数实现两个对原创 2022-01-03 23:02:45 · 655 阅读 · 0 评论