资讯动态

二、C++系列之引用

发布时间:2026/10/14 21:22:00 来源:尧图企业网站定制
目录1、引用是什么2、引用的相关注意点3、引用传参1、引用是什么C在C的基础上新增的概念有很多引用就是其中之一。引用说白了就是相当于给变量取个别名变量怎么用引用也怎么用变量可以通过变量名获取变量值、修改变量值、获取变量的地址引用同样也可以获取变量值修改变量值获取变量的地址。简单来说变量怎么用变量的引用就怎么用。但有一点需要注意引用不是一种新的数据类型它只是变量的别名!!!!!#include iostream using namespace std; int main() { //引用相当于给变量取别名变量怎么用引用就怎么用 int a99; int a_citea;//对变量a建立引用 cout a_cite endl;//99 可以获取变量的值 cout a endl;//99 a_cite 88; cout a_cite endl;//88 可以修改变量的值 cout a endl;//88 cout a_cite endl;//0x61feb8 可以获取变量的地址 cout a endl;//0x61feb8 return 0; }2、引用的相关注意点使用引用时注意以下几点能帮助我们更好的使用引用定义引用时必须初始化引用一旦成为一个变量的引用就不能再成为别的变量的引用当给纯数字建立引用时一定要加const修饰表示其引用的内容不可以修改给变量建立引用时如果加const修饰表示为常引用表示不能通过引用修改变量的值可以给指针变量建立引用相当于给指针变量取别名#include iostream using namespace std; int main() { /* 使用引用时注意以下几点内容能帮助我们更好的使用引用 1、定义引用时必须初始化 2、引用一旦成为一个变量的引用就不能再成为别的变量的引用 3、当给纯数字建立引用时一定要加const修饰表示其引用的内容不可以修改 4、给变量建立引用时如果加const修饰表示为常引用表示不能通过引用修改变量的值 5、可以给指针变量建立引用相当于给指针变量取别名 */ //1、定义引用时必须初始化 int num190; //int num1_cite;//报错 必须初始化 int num1_cite num1; //2、引用一旦成为一个变量的引用就不能再成为别的变量的引用 int num2100,num3200; int num2_cite num2; //int num2_cite num3;//报错 一旦变量的引用就不能再成为别人的引用 num2_cite num3;//不报错 这里不是给num3建立引用而是把num3的值赋值给了num2_cite cout num2 endl;//200 cout num2_cite endl;//200 //3、当给纯数字建立引用时一定要加const修饰表示其引用的内容不可以修改 //int cite 900;//报错 给纯数字建立引用一定要加const const int cite900; cout cite endl;//900 //4、给变量建立引用时如果加const修饰表示为常引用表示不能通过引用修改变量的值 int num4800; const int num4_cite num4;//常引用 //num4_cite 34;//报错 常引用不可以通过引用修改变量的值 但可以通过变量修改 num4 45; cout num4 endl;//45 cout num4_cite endl;//45 //5、可以给指针变量建立引用相当于给指针变量取别名 int m77; int* p m; int* p_cite p;//对指针建立引用操作引用就相当于操作指针变量本身 cout p endl;//0x61fe94 cout p_cite endl;//0x61fe94 cout *p endl;//77 cout *p_cite endl;//77 cout m endl;//77 return 0; }3、引用传参引用的应用就是用在函数传参。C中有两种函数传参方式值传递和指针传递其中指针传递在使用时比较抽象不易懂。所以在C中引入引用引用传参时在函数体通过引用修改变量的值函数体外会受到影响效果可以像指针传参那样但是操作却像变量一样简单说白了引用传参可以实现像操作变量一样达到操作指针的效果C中引用传参的效率更高。所以C中比较推荐使用引用传参函数传参的两种情况如下如果函数体内不修改变量的值可以使用值传递或const修饰的引用传递 推荐const修饰的引用传递如果函数体内需要修改变量的值可以使用指针传递或者引用传递推荐引用传递#include iostream using namespace std; void func1(int a); void func2(int a); int main() { //引用传参 int a99; cout a endl;//99 func1(a); //值传递 不改变变量的值 cout a endl;//99 int b88; cout b endl;//88 func2(b); //引用传递会修改变量的值 cout b endl;//89 return 0; } //封装一个函数 //值传递 void func1(int a) { a; } //引用传递 void func2(int a) { a; }

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑