假设我们有一个称为成功的C++字符串。成功和成功的区别是什么? 问题:假设我们有一个称为成功的C++字符串。成功和成功的区别是什么

假设我们有一个称为成功的C++字符串。成功和成功的区别是什么? 问题:假设我们有一个称为成功的C++字符串。成功和成功的区别是什么,c++,C++,这个问题来自我的期中评估,我明白&成功就是获得目标的地址。但我不确定什么是成功 如果success是一个变量,而不是类型的名称,那么它本身就是无效语法。如果success是一个变量,那么表达式success&无效,编译器会抱怨,另一方面,如果success是类型success&则意味着对该类型的引用。我认为您错误地使用了以下表达式。 下面的数据类型表示对字符串对象的引用,其内容不会更改 const string& 希望这能对您有所帮助。有两种含义。 我假设success是一个变量,而

这个问题来自我的期中评估,我明白&成功就是获得目标的地址。但我不确定什么是成功

如果success是一个变量,而不是类型的名称,那么它本身就是无效语法。

如果success是一个变量,那么表达式success&无效,编译器会抱怨,另一方面,如果success是类型success&则意味着对该类型的引用。

我认为您错误地使用了以下表达式。 下面的数据类型表示对字符串对象的引用,其内容不会更改

const string& 
希望这能对您有所帮助。

有两种含义。 我假设success是一个变量,而不是结构或类名,因此: std::string success=myString

一,。引用变量的地址

如果在声明或函数参数formal参数列表之外的任何地方将success称为&success,则它是对该变量地址的引用。 在您的例子中,it&success将返回myString存储的实际原始内存地址

二,。参考变量

如果您看到&其中声明了变量,或者在函数的参数形式参数列表中看到

std::string&success


它是引用变量的语法,基本上是指针的语法。这些变量与其他变量所引用的值相同,只能通过赋值运算符或成员初始值设定项列表赋值一次。

这取决于上下文,能否在代码中提供示例?这是我在没有任何其他信息的情况下得到的问题,但根据此处的答案,我想他不会希望我把语法弄错。我想我的老师是想用string&而不是success&。非常感谢。我强烈反对语法上的“糖”部分。引用与指针并没有完全不同,但肯定不仅仅是语法上的糖分。
void swap(std::string& success, std::string& failure);