我是使用 c++11 的项目的成员。我不确定何时应该使用错误代码作为返回值。我发现即使直接返回字符串和结构数据,C++ 中的 RVO 也能很好地工作。但是如果我使用返回码,我就无法获得 RVO 的好处,而且代码有点多余。
所以每次我声明函数时,我都无法决定应该使用哪个作为返回值。我应该如何保持代码的一致性?任何建议都会帮助我。
// return string
MyError getString(string& out);
string getString();
// return struct
MyError getStructData(MyStruct& out);
MyStruct getStructData();