func(int&x) 和 func(int &x) 在C++中的区别
Difference between func(int& x) and func(int &x) in C++
我正在努力学习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引用"视为离散类型会使其不那么混乱,但对于编译器来说,这是一样的。
相关文章:
- 为什么在全局范围内使用"extern int a"似乎不行?
- int(c) 和 c-'0' 之间的区别。C++
- 从"int*"强制转换为"unsigned int"会丢失精度错误
- 为什么野牛仍在使用"int yylex(void)",却找不到"int yylex(YYS
- 有符号的int和int-有没有一种方法可以在C++中区分它们
- 请解释这句话(cout<<1+int((a<b)^((b-a)&1) )<<endl
- 是否可以从int转换为enum类类型
- 不能在初始值设定项列表中将非常量表达式从类型 'int' 缩小到'unsigned long long'
- 向量 <int> a {N, 0} 和 int arr a[N] = {0} 的时间复杂度有什么区别
- 'short int'持有的值溢出,但"自动"不会溢出?
- 如何在C++中将一个无符号的 int 转换为两个无符号的短裤?
- 调用'begin(int [n])'没有匹配函数
- 没有显式声明的int[]中的foreach
- 在c++中访问int到类对象的映射时出错
- C++语法错误,编译器不会警告或 int v = func(&v) 出错;
- 是否可以交换在 c++ 中作为函数 func(say) 中的参数传递的 const 向量的两个元素,例如:vector<int>func (const vector<int>&
- 在扣除C++14中的"auto"之前使用"auto func(int)"
- int func(function <int(int)> F, int x)
- 带有参数的 func return list (int arry[int]<int>, int array[int])
- func(int&x) 和 func(int &x) 在C++中的区别