C ++中func(int& x)和func(int& x)之间的区别

时间:2015-09-29 19:17:57

标签: c++ function parameter-passing pass-by-reference

我正在尝试学习C ++的基础知识。我阅读的书使用以下语法:

func(int& x);

在互联网上,我大多看到以下语法:

func(int &x);

两者似乎完全一样。有什么不同吗?

3 个答案:

答案 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"作为离散类型使它不那么混乱,但对于编译器来说它是一样的。