c++学习笔记-指针和引用

来源:互联网 发布:安兔兔评测软件 编辑:程序博客网 时间:2024/06/06 05:15

指针和引用的区别

(1)引用是一个变量的别名,本身不单独分配自己的内存空间,跟原来变量共享内存空间;而指针需要重新分配自己的内存空间,用来保存指向对象的地址。
(2)引用访问一个变量是直接访问,而指针是间接访问。
(3)引用一经初始化就绑定到一个内存空间,且只能是这个内存空间的名字,定义时必须初始化。
(4)给引用赋值修改的是引用关联的对象的值(内存空间的值)。
下面的代码中,test_pointer函数中改变的是指针pa的值,使pa和pb指向了同一个对象,a和b的值没有变。test_reference函数中改变的是a的值,ra和rb仍然指向之前的对象,不过此时a和b的值相等。

#include<iostream> using namespace std; void test_pointer(){    int a = 1,b = 2;    int *pa = &a,*pb = &b;    pa = pb;    cout << a << b << endl;} void test_reference(){    int a = 1,b = 2;    int &ra = a,&rb = b;    ra = rb;    cout << a << b;}


转载请注明来自:Alex Zhou,本文链接:http://codingnow.cn/c-c/484.html