引用是占有内存的,别名只是习惯 #include <iostream> using namespace std; class refClass{ private: double& ref; public: refClass(double var = 4.00) :ref(var){ cout << sizeof(var) << endl; } }; int main() { double *p; cout << sizeof(double) << endl;//8 cout << sizeof(p) << endl;//4 cout << sizeof(refClass) << endl;//4 return 0; }
指针是一个实体,而引用仅是个别名//说指针是个实体,可能站在指针的值是实实在在存在于内存中,这样讲究通了
指针没有 const,引用有 const;//引用也可以改变,所以错
引用不能为空,指针可以为空;//对
“sizeof 引用”得到的是所指向的变量(对象)的大小,而“sizeof 指针”得到的是指针本身(所指向的变量或对象的地址)的大小;//这句话里面的括号,很具有蛊惑性,,,乍一看,他说是指向的对象,最后还有个“的地址”...半天跟没说一样,还是32位的4字节,64位的8字节