在C++中引用和指针的区别一个详细的例子
引用是C++引入并不是为了明确指称的概念在C.的存在,我们必须先了解变量的定义和引用的变量之间的差异。变量有两个元素:名称和空格。
引用不是变量。它只是变量的别名。它没有自己独立的空间。它只符合变量的名称,空间元素不满足。换句话说,引用需要与它引用的变量共享相同的内存空间,而对引用的更改实际上是修改引用的变量。
参数传递的类型及其关键点:
1按值传递值:参数不能修改参数的值,参数初始化参数,需要分配空间,然后引用内容被复制到参数中。
2参考传递:参数初始化参数时不需要为参数分配空间。
3个指针转移:本质或值转移,当参数初始化参数时,它仍然需要分配空间。如果需要修改指针的地址,就不可能简单地传递指针,而且必须使用***或*
下面讨论。
1参考概念
2 const引用
3引用作为参数传递。
4作为函数返回值的引用
5参考与指针的区别
1参考概念
请记住以下几点:
(1)引用是变量的别名,没有单独的空格。
(2)共享需要与它引用的变量共享的共享变量。
(3)对引用的更改实际上是对引用变量的更改。
(4)引用需要在定义的时候初始化。
(5)引用初始化不能用于rereference其他变量。
请看下面的例子:
主(空)
{
int = 100;
/ / / / int refVal;错误,引用必须被初始化
int val refVal =;
cout瓦尔=<<瓦尔<< endl;
refVal = 200; / /实际值的变量被改变
cout瓦尔=<<瓦尔<< endl;
int val2 = 500;
refVal = val2; / /这不是refVal引用变量val2代表,
/ /仅代表val2 refVal赋值,值
cout瓦尔=<<瓦尔<< endl;
返回0;
}
2 const引用
常量引用的要点如下:
(1)顾名思义,const引用是对const对象的引用。
(2)const引用可以引用非const对象,但非const引用不能引用const对象。
int = 200;
常量=
常量= 100;
int ref2 = B; / /错误,
(3)const引用的对象值是常量,不能修改。
常数= 200;
常量=;
REF = 100; /错误,引用的对象是常量,不能修改。
(4)const引用可以引用不同类型的变量,但会产生一个临时变量:
双A=3.14;
它产生的过程是:
生成一个临时变量TMP,数据可能会被截断。
引用;引用实际上是一个临时变量。
3引用作为参数传递。
引用作为参数是传递参数的其中之一。当参数初始化参数时,不需要分配内存空间,下面是一个示例:
空交换(int,int)
{
int =;
甲=乙;
b = TMP;
}
主()
{
int=20;
int=30;
交换(x,y);
cout << x << endl; / / x = 30;
cout << Y << endl; / / y = 20;
}
4作为函数返回值的引用
列出示例,如下所示:
a { } = { 1,2,3,4,5,6,7,8,9,0 };
int索引(int i)
{
返回一个{ };
}
主()
{
索引(3)= 100;
cout <<一{ 3 } << endl; / /输出:100
}
这是引用的另一个效果,可以放在赋值操作符的左边。索引函数返回一个{的引用,而对引用的修改将修改变量本身,所以{ 3 }被修改为100。
5参考与指针的区别
(1)访问引用是直接访问,访问指针是间接访问。
(2)引用是变量的别名,它本身不分离自己的内存空间,指针有自己的内存空间。
(3)参考初始化,没有其他变量可以被引用,指针可以被使用。
(4)尽可能使用引用,当指针还没有可用时使用指针。
谢谢你的阅读。我希望你能帮助你,谢谢你对这个站的支持。