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

Difference between func(int& x) and func(int &x) in C++

本文关键字:func int 区别 C++      更新时间:2023-10-16

我正在努力学习c++的基础知识。我正在读的那本书使用了以下语法:

func(int& x);

在互联网上,我主要看到以下语法:

func(int &x);

似乎两者的作用完全相同。有什么区别吗?

字面上没有区别。只是一种风格偏好。对于指针的位置也是如此。

int* p;是对的还是int *p;是对的?Bjarne Stroustrup网站的常见问题解答。这是针对指针的,但他所写的同样适用于引用:

都是"正确的",因为它们都是有效的C和c++意思完全相同。[…[参考译文]int* p;int *p;的选择不是对与错的问题,而是风格与侧重点的问题。

我更喜欢int& x。这样引用就成为了类型的一部分,它是一个名为x的"int引用",而不是"int, reference of x"

我发现将"int引用"视为离散类型会使其不那么混乱,但对于编译器来说,这是一样的。