假设一个函数有签名
std::string GetString();
并且它按值返回一个新字符串。现在给出以下代码:
// (a) Store the return value to a const reference.
const std::string& my_string = GetString();
// (b) Store the return value to a (const) value.
const std::string my_string = GetString();
从 C++11 编译器的角度来看,我是否正确理解 (a) 和 (b) 是相同的?如果是这样,在风格的选择上是否有一个粗略的共识?