美文网首页
C++学习笔记2-----C++ 引用 vs 指针

C++学习笔记2-----C++ 引用 vs 指针

作者: ChineseBoy | 来源:发表于2017-06-22 16:32 被阅读33次

引用很容易与指针混淆,它们之间有三个主要的不同:
1.不存在空引用。引用必须连接到一块合法的内存。
2.一旦引用被初始化为一个对象,就不能被指向到另一个对象。指针可以在任何时候指向到另一个对象。
3.引用必须在创建时被初始化。指针可以在任何时间被初始化。

注意:引用传递可以改变值,通过引用或地址传递参数,使传递的参数在调用函数中被改变。
void swap(int* a, int* b){
    int temp = *a;
    *a = *b;
    *b = temp;
}//这里需要注意了,不是直接交换指针地址,而是交换地址里面的值

int s = 5;
int& sPointor = s;
void swap2(int& a, int& b){
    int temp = a;
    a = b;
    b = temp;
}

int a = 3;
    int b = 4;
//    swap(&a,&b);
    swap2(a,b);
    cout << "a = " << a << ";b = " << + b << endl;

最终结果都是:a = 4;b = 3

相关文章

网友评论

      本文标题:C++学习笔记2-----C++ 引用 vs 指针

      本文链接:https://www.haomeiwen.com/subject/hdpfcxtx.html