方法返回分配给变量

时间:2010-06-30 13:12:27

标签: c++

我有一个返回CString并将其放入变量的方法,但是这个变量是方法中的参数。有没有更好的方法将方法的返回值分配给变量?

示例:

CString foo = "foo";
foo = MakeBar(foo);

3 个答案:

答案 0 :(得分:4)

你的代码很好。编写不修改其参数的函数是常见的(通常是好的做法)。在您的情况下,您想要覆盖foo,因此您必须将结果分配给自己。

这个成语在其他具有不可变字符串的语言中非常非常

答案 1 :(得分:3)

通过引用将foo传递给函数。以这种方式,它被理解为它将是输入/输出参数。

void MakeBar(CString &foo)
{
  if(foo == "foo")
    foo = "bar";
}

//...


CString foo = "foo"; 
MakeBar(foo);

答案 2 :(得分:0)

问题是您的MakeBar()功能通常使用,如何实施。如果有foo2 = MakeBar(foo1)次呼叫的相当大一部分,那么最好有一个返回值。如果您确定MakeBar()的输出始终替换输入,那么void MakeBar(CString &foo)表单会更好。

相关问题