関数に署名があるとします
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();
(a) と (b) は、C++11 コンパイラの観点からは同一であると理解するのは正しいですか? もしそうなら、スタイルの選択について大まかなコンセンサスはありますか?