文章目录1、引用的定义和使用2、引用的本质3、引用作为函数参数引用的地址1、引用的定义和使用#includeiostreamintmain(){intx10;intax;intbx;a11;b12;std::coutxstd::endl;//12std::coutastd::endl;//12std::coutbstd::endl;//12std::coutHello World!\n;}语法是类型 变量名值a、b都是x的引用是x的别名。对a、b、x任一的修改都是修改同一个地址的值即变量x的值。创建引用变量a、b时必须赋值初始化。a、b初始化后永远是x的引用无法再改变为其他变量的引用。不存在NULL引用。一定是具有合法地址的变量的引用。2、引用的本质本质是指针。只是编译器层面的语法处理编译后会变成指针的写法。intx1;intax;//编译器处理为int * const aref x;a10;//编译器处理为*aref 10;//其中aref是编译器起的名字用户不可知。本质是处理成指针常量/常指针。就是指向初始化后不能改变的指针。所以一个引用在内存中是占用8个字节存储就是按指针的存储#includeiostreamclassPerson{inta;intb;};intmain(){//通过sizeof获取Person数据类型占用的内存空间std::coutsizeof(Person)std::endl;//16}有时编译器会将引用优化掉完全用所引用的变量不会额外创建指针常量。3、引用作为函数参数#includeiostreamvoidadd(inta){a;}intmain(){intx1;add(x);std::coutxstd::endl;//2}引用作为函数参数时相当于传的是实参的指针也就能在函数中通过改变形参来改变实参的值。在一些场景代替指针具有更好的可读性和实用性。引用的地址#includeiostreamintmain(){intx10;intax;intbx;a11;b12;std::coutxstd::endl;std::coutastd::endl;std::coutbstd::endl;std::coutHello World!\n;}用获取引用的地址并不是获得编译器内部分配的指针常量的地址而是编译器将a处理为返回所引用的x的地址。所以a和x的值相同都是x的地址。
C++引用的示例
发布时间:2026/6/26 1:37:13
文章目录1、引用的定义和使用2、引用的本质3、引用作为函数参数引用的地址1、引用的定义和使用#includeiostreamintmain(){intx10;intax;intbx;a11;b12;std::coutxstd::endl;//12std::coutastd::endl;//12std::coutbstd::endl;//12std::coutHello World!\n;}语法是类型 变量名值a、b都是x的引用是x的别名。对a、b、x任一的修改都是修改同一个地址的值即变量x的值。创建引用变量a、b时必须赋值初始化。a、b初始化后永远是x的引用无法再改变为其他变量的引用。不存在NULL引用。一定是具有合法地址的变量的引用。2、引用的本质本质是指针。只是编译器层面的语法处理编译后会变成指针的写法。intx1;intax;//编译器处理为int * const aref x;a10;//编译器处理为*aref 10;//其中aref是编译器起的名字用户不可知。本质是处理成指针常量/常指针。就是指向初始化后不能改变的指针。所以一个引用在内存中是占用8个字节存储就是按指针的存储#includeiostreamclassPerson{inta;intb;};intmain(){//通过sizeof获取Person数据类型占用的内存空间std::coutsizeof(Person)std::endl;//16}有时编译器会将引用优化掉完全用所引用的变量不会额外创建指针常量。3、引用作为函数参数#includeiostreamvoidadd(inta){a;}intmain(){intx1;add(x);std::coutxstd::endl;//2}引用作为函数参数时相当于传的是实参的指针也就能在函数中通过改变形参来改变实参的值。在一些场景代替指针具有更好的可读性和实用性。引用的地址#includeiostreamintmain(){intx10;intax;intbx;a11;b12;std::coutxstd::endl;std::coutastd::endl;std::coutbstd::endl;std::coutHello World!\n;}用获取引用的地址并不是获得编译器内部分配的指针常量的地址而是编译器将a处理为返回所引用的x的地址。所以a和x的值相同都是x的地址。