参考变量和常量指针变量有什么区别?
问题描述:
可能重复:
Difference between pointer variable and reference variable in C++参考变量和常量指针变量有什么区别?
这是一个的this question
延续,是一个引用变量 const的指针变量的只是一个名字吗?如果它们不同,则声明为参考变量的变量和声明为常量指针变量的变量之间的区别是什么?
答
好的。问题是没有像参考变量这样的东西。引用不是一个变量。这不是一个对象。它实际上没有大小。它只是原始对象的替代名称。
检查:
struct A
{
int i[5];
};
int main()
{
std::cout << (sizeof(A&) == sizeof(A)) << std::endl;
std::cout << (typeid(A&) == typeid(A)) << std::endl;
return 0;
}
A& has the same size as A
A& has the same type as A
答
是一个引用变量只是const指针变量的另一个名称?
如果它们是不同的就是声明为一个参考变量,声明为一个const变量的指针变量的变量之间的差别号?
他们是完全不同的东西,没有足够的空间来解释你需要知道的一切。阅读this。其实,阅读entire FAQ。你会学到很多。
答
只是为了好玩:)一个引用不能为NULL,而是一个const指针可以。
+0
@Chusbad:first反应也是:p – 2010-12-02 07:46:11
除非你真的打算问一个指针和一个常量指针这之间的区别在于,你链接到问题的副本。 – 2010-12-02 07:42:58
这已在您提到的同一问题中得到解答。从第一个答案中,除*之外的所有点都可以重新分配*。 [C++中指针变量和引用变量之间的区别]可能的重复(http://stackoverflow.com/questions/57483/difference-between-pointer-variable-and-reference-variable-in-c) – 2010-12-02 08:45:13