一起学习交流~

c/c++细节知识点 06sizeof与字节对齐

c/c++细节知识点 06sizeof与字节对齐
作用 /* sizeof 关键字,获取字节大小 sizeof 并不是函数,sizeof后直接接需要获取字节大小的数据即可(部分编译器必须加括号,所以建议加上) sizeof 后面可以接变量和接常量,也可以接类、结构体、共用体等 sizeof 获取的大小在编译器时就已经确定 手动设置字节对齐的大小 #pragma pack(push) 把当前字节对齐的大小压入栈 #pragma pack(pop) 在栈中恢复字节对齐……继续阅读 »

laomuji 2个月前 (08-06) 126浏览 0评论 0个赞

c/c++细节知识点 05volatile的作用

c/c++细节知识点 05volatile的作用
作用 /* volatile关键字用于修饰变量,告诉编译器不要优化这个变量,这个变量可能被其它(比如线程,操作系统等)修改 使用volatile每次都会从内存中取出值,(否则可能会从cpu中取出) 指针和const都可以用volatile修饰 */ 例子 #include<iostream> #include<thread> using namespace std; int num5_1 =……继续阅读 »

laomuji 3个月前 (07-07) 158浏览 0评论 0个赞

c/c++细节知识点 04inline的作用

c/c++细节知识点 04inline的作用
inline作用 /* 内联函数相当于把函数中的内容放到调用该函数的地方,减少了进入函数的步骤,直接执行函数体 使用空间来换时间,减少了调用函数的开销,但将内联函数展开到各个调用的地方,增加了空间,所以在代码行数很短时才建议使用内联函数 但编译器一般不会内联包含了循环,递归,switch等复杂操作的内联函数 在类声明中定义的函数,除了虚函数以外的函数都会隐式的当作内联函数 内联函数展开代码会省去把参数压入栈,栈中内存……继续阅读 »

laomuji 3个月前 (07-07) 198浏览 0评论 0个赞

c/c++细节知识点 03this的作用

c/c++细节知识点 03this的作用
this作用 this指针隐式的存在于类的每一个非静态成员函数中,它指向调用这个成员函数的对象 当一个对象调用成员函数时,会先把地址赋值给该函数中的this指针,成员函数使用类中的数据时,都隐式使用this指针 this实际上是一个右值,但是可以这样认为:this指针的类型为ClassName* const,在const成员函数中this指针的类型为const ClassName* const 一般用法 #incl……继续阅读 »

laomuji 3个月前 (07-07) 192浏览 0评论 0个赞

c/c++细节知识点 02static的作用

c/c++细节知识点 02static的作用
static作用 修饰变量 使该变量的存储区变为静态区,在main函数运行以前就已经分配了空间. 如果该变量没有给初始值,那么就用系统默认值初始化,一般用0初始化 若该变量在函数外进行初始化,则只能初始化一次,否则无法编译 若该变量在函数内进行初始化,则只会初始化一次,其它的初始化行为会被屏蔽 修饰函数 使该函数只能在当前文件中访问 修饰成员变量 不需要生成对象就可以访问该变量 修饰成员函数 不需要生成对象就可以访问……继续阅读 »

laomuji 3个月前 (07-04) 184浏览 0评论 0个赞

c/c++细节知识点 01const的作用

c/c++细节知识点 01const的作用
基本原理 const 修饰的变量实际上本质上和正常变量一样,只不过加以限制,无法直接修改 const是伪常量,利用强制转换等方式可以强行修改const修饰的变量 修饰变量 说明该变量不可以被改变 int main1_1() { int num = 123; const int a = num; // const的= 是值拷贝,实际上还是创建了一个新的变量 cout << a <……继续阅读 »

laomuji 3个月前 (06-25) 230浏览 0评论 1个赞