引用 reference

C语言指针,在C++中也可以用

#include <iostream>
using namespace std;

int main() {
    
    int age = 10;

    int *p = &age;
    *p = 20;

    cout << *p << endl;

    getchar();
    return 0;
}

C++中,引用(reference)和指针功能类似。指针是*,引用是&

  • 引用在定义时必须初始化,一旦指向某个变量就不能再变。
  • 引用存在的价值之一:比指针更安全、函数返回值可以被赋值
#include <iostream>
using namespace std;

int main() {
    
    int age = 10;

    int &refAge = age;    //相当于age的别名是refAge
    refAge = 20;

    cout << age << endl;

    getchar();
    return 0;
}

引用的本质就是指针,直接看汇编,两者汇编一模一样

  • 引用就是指针,编译器削弱了它的功能,不能乱指。
#include <iostream>
using namespace std;

int main() {
    
    int age = 10;

    int *p = &age;    //*p就是age的别名
    *p = 20;

    int &ref = age;    //ref就是age的别名
    ref = 40;

    cout << age << endl;

    getchar();
    return 0;
}

有的系统存在ASUR,让程序起始地址随机

原文地址:https://www.cnblogs.com/sec875/p/12256887.html