C++中的引用很像指针。。我举个例子你就会知道引用是干嘛的了!
1 #include <iostream> 2 3 using namespace std; 4 int main () 5 { 6 int a = 6; 7 int &b =a; 8 cout << "a的值为 : " << a << endl; 9 cout << "a的引用值为 : " << b << endl; 10 return 0; 11 }
会输出
a的值为:6
a的引用值为:6
等你尝试改变引用的值时,被引用变量的值也会随之改变..
它和指针不同的是
- 不存在空引用。引用必须连接到一块合法的内存。
- 一旦引用被初始化为一个对象,就不能被指向到另一个对象。指针可以在任何时候指向到另一个对象。
- 引用必须在创建时被初始化。指针可以在任何时间被初始化。
当把引用作为参数时
#include <iostream>
using namespace std;
int spo(int &x){
x = 5;
}
int main(){
int a = 0;
spo(a);
cout<<"a的值被改变:"<<a<<endl;
}
输出:
a的值被改变:5
如果不用引用的话
#include <iostream> using namespace std; int spo(int x){ x = 5; } int main(){ int a = 0; spo(a); cout<<"a的值未被改变:"<<a<<endl; }
改变的只是spo函数内的局部变量
总结一下
- &是引用符号
- 引用与指针类似但是不同
- 改变引用的值,被引用的变量的值也会随之改变
原文链接: https://www.cnblogs.com/YiqDh/p/12881396.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;
也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/348154
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!