在我看到的示例中,参数是通过以下方式通过引用传递的:
void AddOne(int &y)
在我拥有的代码中,我看到以下语法:
void AddOne(int& y)
我想知道它是否相同,或者第二种情况与第一种情况有所不同。
在我看到的示例中,参数是通过以下方式通过引用传递的:
void AddOne(int &y)
在我拥有的代码中,我看到以下语法:
void AddOne(int& y)
我想知道它是否相同,或者第二种情况与第一种情况有所不同。
两者完全相同。完全没有区别。
重要的是&
应该在类型和变量名之间。空格无所谓。
所以
void AddOne(int& y);
void AddOne(int &y);
void AddOne(int & y)
void AddOne(int & y);
void AddOne(int&y);
是一样的!
语言相同,只是代码约定不同
之间没有区别
void AddOne(int &y);
和
void AddOne(int& y);
乃至
void AddOne(int&y);
在 C++ 中,因为实际标记之间的空格被丢弃。
这是风格问题。两者都是正确和有效的。
然而,Bjarne Stroustrup 似乎更喜欢将&
and *
放在类型名称旁边,强调变量的类型:
int* i; // i is a pointer to an int
int& j; // j is a reference to an int
有关指针,请参见此处:https ://www.stroustrup.com/bs_faq2.html#whitespace
请参阅“使用 C++ 的编程原理和实践”一书中的示例,并在此处获取参考:https ://stackoverflow.blog/2019/10/11/c-creator-bjarne-stroustrup-answers-our-top-five-c-questions /