关于指针:
基础概念:指针是存储地址的变量,用于指向变量或其他数据的内存位置。指针变量的大小通常为8个字节,取决于目标平台的可寻址内存大小。指针类型与所指向数据的类型相关。
定义和使用:指针初始化时必须指定初始值,以避免未定义行为。指针的使用包括赋值和算术运算。
地址运算符&:用于获取变量的内存地址,通常用于初始化指针。
解引用运算符*:用于获取指针所指向内存地址的数据值。这是间接访问数据的方式。
char类型与指针:char类型指针可以直接访问元素,但使用时需确保正确性。
数组与指针:指向数组的指针存储数组的起始地址,可用于遍历数组。释放数组内存时应使用delete[],以避免内存泄漏。
const与指针:const结合指针可限制访问性,包括指向常量的指针、常量指针以及指向常量的常量指针。
关于引用:
基础概念:引用是变量的别名,与原始变量共享相同的内存地址。引用的使用方式与变量相同。
与指针的区别:引用在初始化时必须指定变量,且不能中途改变所引用的对象。而指针可以改变指向。
初始化:定义引用时使用类型名&,并在初始化时将&放在等号左侧。
函数的引用传参:在函数中,引用传参允许修改原始变量,同时避免了副本的生成,提高了效率。
函数的const引用传参:结合const使用引用传参,可以在避免副本生成的同时,限制对原始变量的修改。