- 博客(4)
- 收藏
- 关注
原创 C++ 指针和数组
在C++中,使用数组的时候,编译器一般会把它转换成指针本质:在使用到数组名的地方,编译器会自动的将其替换为一个指向数组首元素的指针所以,在一些情况下,数组的操作实际上是指针的操作指针也是迭代器,vector和string支持的运算,数组的指针也全部支持特点:当数组作为一个auto 变量的初始值时,得到的推断是指针,而不是数组。int arr1[]={1,2,3};auto arr2(arr1); //arr2 是一个整型指针,指向arr1的第一个元素arr2=4; /
2022-03-17 09:41:02 1558
原创 C++ 指针和引用的区别
指针是一个变量,里面存放的是地址而引用则跟原来的变量实质上是同一个东西,它只是原变量的别名指针可以有多级而引用只有一级指针的声明和定义可以分开执行,并且可以设置为空指针而引用在声明的时候必须进行初始化,并且不能为NULL指针在初始化后可以改变指向而引用初始化后不能改变对指针使用取地址符(&) 得到的是指针原本的地址而引用得到的是引用所指变量的地址当把指针作为参数传递时,形参和实参是两个不同的变量而引用作为参数传递时,形参和实参 实质上是同一个变量
2022-03-15 12:06:44 414
原创 C++ 为什么需要内存对齐
为什么需要内存对齐因为大多数处理器并不是按照字节块来存取内存,而是2个字节,4个字节,甚至更多的字节为单位来存取内存如果没有内存对齐机制,假如有一个int类型的变量存放在地址为1的连续4个字节地址中。当处理器去取数据时,它会先从0地址开始读取4个字节,然后剔除不想要的字节,再从4地址开始,读取4个字节,再剔除不想要的字节,最后再将剩余数据合并总结:所以内存对齐后可以增加我们访问数据时的效率内存对齐的规则存储在结构体中的成员,第一个成员地址和结构体地址相同结构体的大小等于最大成员对齐的整数
2022-03-15 10:33:30 1521
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人