C++
文章平均质量分 56
A赵同学_
这个作者很懒,什么都没留下…
展开
-
关于 Const 的使用
在C语言中,const 修饰的变量依然被当做常量,在内存中依然有存储的空间,还可以通过指针间接修改内存空间的值 在C++中,C++把const看做常量,编译器会使用常数直接替换对值的引用 C++中的const机制类似C语言中的宏,都是替换,但是C++的const是在编译阶段替换,C语言的宏是在预编译阶段替换。 const修饰指针的三种情况: 1、指向常量的指针:指针指向一个常量对象,目的是防止使用该指针来修改指向的值 const int *p; /...原创 2021-10-07 16:13:34 · 136 阅读 · 0 评论 -
字节对齐的的概念
字节对齐 为了使CPU能够对变量进行快速的访问,变量的起始地址应该具有某些特性,即所谓的“对齐”,比如4字节的int型,其起始地址应该位于4字节的边界上,即起始地址能够被4整除,也即“对齐”跟数据在内存中的位置有关。 1、自然对齐: 如果一个变量的内存地址正好位于它长度的整数倍,他就被称做自然对齐。 2、非自然对齐 比如在32位cpu下,假设一个整型变量的地址为0x00000004(为4的倍数),那它就是自然对齐的,而如果其地址为0x00000002(非4的倍数)则是非对齐的。 原则1:占用原创 2021-09-15 15:35:05 · 371 阅读 · 0 评论 -
类对象作为类成员
当其他类对象作为本类中的成员时: 构造的顺序是:先调用其他类的构造,再调用本类的构造。 析构的顺序是:和构造的顺序是相反的。 成员的构造先后顺序是根据在类中的顺序决定的,跟构造方法中的初始化顺序无关。 //手机类 class Phone { public: string Phone_Name; Phone() { cout << "Phone 的无参构造函数调用" << endl; } Phone(string ...原创 2021-08-14 13:58:52 · 114 阅读 · 0 评论