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

引用很容易与指针混淆,它们之间有三个主要的不同:
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 指针)