我正在尝试学习C ++的基础知识。我阅读的书使用以下语法:
func(int& x);
在互联网上,我大多看到以下语法:
func(int &x);
两者似乎完全一样。有什么不同吗?
答案 0 :(得分:9)
字面上没什么区别。只是一种风格偏好。 same is true of where you put the pointer。
答案 1 :(得分:2)
请参阅Bjarne Stroustrup网站上Is int* p;
right or is int *p;
right?常见问题解答的答案。这是指针,但他写的内容同样适用于参考:
两者都是“正确的”,因为两者都是有效的C和C ++ 具有完全相同的含义。 [...]
int* p;
和int *p;
之间的选择不是关于是非,而是关于风格和重点。
答案 2 :(得分:-2)
我更喜欢int& x
。通过这种方式,引用成为类型的一部分,它是一个" int引用"调用x,而不是" int,引用x"
我发现想到" int reference"作为离散类型使它不那么混乱,但对于编译器来说它是一样的。