C++14で導入されるdecltype(auto)
を使うと、return
とreturn (…)
で戻り値の型が変わる。前者は値、後者は参照となる。
decltype(auto) f() { static int value = 3; return value; } decltype(auto) g() { static int value = 3; return (value); } int main() { int f_result = f(); int& g_result = g(); }