- 博客(9)
- 收藏
- 关注
原创 一张图带你了解c/c++的内存分布
c/c++的内存分布对照这些代码查看对应内存分布:int globalVar = 1;static int staticGlobalVar = 1;void Test(){ static int staticVar = 1; int localVar = 1; int num1[10] = {1, 2, 3, 4}; char char2[] = "abcd"; char* pChar3 = "abcd"; int* ptr1 = (int*)malloc(sizeof (int)
2021-08-15 00:08:50 3058
原创 结构体为什么要内存对齐
结构体为什么要内存对齐为什么要内存对齐对齐规则为什么要内存对齐不是所有的硬件平台都能访问任意地址上的数据;某些硬件平台只能只在某些地址访问某些特定类型的数据,否则抛出硬件异常,及遇到未对齐的边界直接就不进行读取数据了。为了代码的可移植性,和提升CPU访问内存的效率,所以结构体一定要内存对齐。本质:空间换区时间的做法。从上图可以看出,对应两种存储方式,若CPU的读取粒度为4字节,那么对于一个int 类型,若是按照内存对齐来存储,处理器只需要访存一次就可以读取完4个字节若没有按照
2021-08-14 15:36:18 3726
原创 AUTO占位符在C++中的作用
AUTO占位符在C++中的作用auto简介auto的使用细则1. auto与指针和引用结合起来使用:2. 在同一行定义多个变量3. auto不能推导的场景4. auto最常用的地方:遍历二维数组auto简介在早期C/C++中auto的含义是:使用auto修饰的变量,是具有自动存储器的局部变量。C++11中,标准委员会赋予了auto全新的含义即:auto不再是一个存储类型指示符,而是作为一个新的类型指示符来指示编译器,auto声明的变量必须由编译器在编译时期推导而得。int Add(int left,
2021-08-14 09:42:13 2003
原创 宏定义,宏函数和内联函数
宏定义,宏函数和内联函数宏是什么:简单宏替换出现的问题:带参数的宏定义(宏函数):宏的优点:宏的缺陷,内联函数的引入内联函数(空间换时间)宏是什么:宏(#define)命令是C语言中的一个宏定义命令,它用来将一个标识符定义为-个字符串,该标识符被称为宏名,被定义的字符串称为替换文本。该命令有两种格式:①简单的宏定义②带参数的宏定义。简单宏定义:#define N 100int main(){ int sum = 20 + N; printf("%d\n", sum);
2021-08-14 09:19:20 2303
原创 c++的引用和指针原来是这种关系
c++的引用和指针原来是这种关系关于引用引用的概念:引用的三种情况:当引用作为返回值的时候:引用和指针的区别:关于引用引用的概念:引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。总结:引用即别名类型& 引用变量名(对象名) = 引用实体;注意:引用类型必须和实体是同种类型(它没有办法进行隐式类型转化)引用的三种情况:①常量无法被引用。在c++中const修饰的量称之为常量,你引用的目的就是想通过引用的方式去修
2021-08-04 19:07:44 3377
原创 c++缺省参数,函数重载详解
c++缺省参数,函数重载详解缺省参数什么是缺省参数?缺省参数的分类**1. 全缺省参数****2.半缺省参数**规则:缺省参数只能从右往左,依次给出(这是规定)函数重载什么是函数重载函数重载底层实现原理:为什么c语言不支持函数重载,而c++支持重载?对于只因为参数个数不同写的重载函数缺省参数什么是缺省参数?缺省参数是声明时为函数的参数指定一个默认值。在调用该函数时,如果没有指定实参则采用该默认值,否则使用指定的实参为什么缺省参数要在声明时传入呢?因为缺省参数有一个规则: 缺省参数不能在函数声明和定
2021-08-04 17:33:46 3899 3
原创 C++的命名空间详解
c++命名空间详解命名空间的意义命名空间的定义命名空间的使用命名空间的意义在C/C++中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染,namespace关键字的出现就是针对这种问题的。简单来说,公司里有两名员工分别负责不同的业务,甲和乙在写需求的时候就对对象命名的时候很可能导致命名冲突,所以为了避免这种情况,c++就提出了命名空间这一概念。命名空间的定义nam
2021-08-04 15:15:18 3819
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人