C++指针与引用

#include "stdafx.h"
#include <iostream>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    int a = 5;
    int& ref = a;
    int* ptr = &a;

    cout << &a<<" "<<&ref<<" "<<ptr;

    printf("
");
    return 0;
}

对于一个内存单元,它有一个名字a,引用就是它的别名,即ref。指针ptr的内容是内存单元a的地址值。

引用不能指向空值,所以引用在被定义时必须初始化,指向另一个对象。指针可以指向对象,也可以指向空值。

引用在被初始化后就不能再被改变(不能成为另一个对象的引用),而指针可以变化,从而动态地指向不同内存单元。

由上一条得知,引用没有const。指针可以加const,表示不能改变的指针。

原文地址:https://www.cnblogs.com/shuada/p/3484519.html