C++的引用类型:
引用称作别名,看作另外一种指针,通过引用类型可以间接的操作对象,引用类型主要是在函数的形式参数上,通常我们使用它是把类对象传递一个函数,引用对象通常加上&符号和名称方式进行定义。int &test;这样一般不能被编译,引用的定义必须同事给应用进行赋值操作,这里的赋值不是
说把变量的值传递给引用,而是把引用指向变量 int &test=变量名.
可以看出地址和数值都已经改变了.
0x28fefc|0x28ff00|10|11.2
Process returned 0 (0x0) execution time : 1.014 s
Press any key to continue.
可以看出地址和数值都已经改变了,本来a与test都应该一起发生变化的,但是编译器的内部执行:
int a=10;
int temp=a;
引用称作别名,看作另外一种指针,通过引用类型可以间接的操作对象,引用类型主要是在函数的形式参数上,通常我们使用它是把类对象传递一个函数,引用对象通常加上&符号和名称方式进行定义。int &test;这样一般不能被编译,引用的定义必须同事给应用进行赋值操作,这里的赋值不是
说把变量的值传递给引用,而是把引用指向变量 int &test=变量名.
#include <iostream>
using namespace std;
int main(int argc, char const *argv[])
{
int a=10;
int &test=a;
test+=2;
cout<<&a<<"|"<<&test<<"|"<<a<<"|"<<test<<endl;
/* code */
return 0;
}
可以看出地址和数值都已经改变了.
#include <iostream>
using namespace std;
int main(int argc, char const *argv[])
{
int a=10;
const double &test =a+1.2f;
cout<<&a<<"|"<<&test<<"|"<<a<<"|"<<test<<endl;
return 0;
}
0x28fefc|0x28ff00|10|11.2
Process returned 0 (0x0) execution time : 1.014 s
Press any key to continue.
可以看出地址和数值都已经改变了,本来a与test都应该一起发生变化的,但是编译器的内部执行:
int a=10;
int temp=a;
const double &test=temp+12.f 所以说temp发生变化,但是a没有和test绑定
文章还行请在这下面三个网站随便注册,忽略网站内容,为了谋生。谢谢,邮箱可以随便填写
1755414.i329.com
1755414.ik34.com
1755414.live173.com