0637141

练习6.37:为上一题的函数(string (&func())[10])再写三个声明,一个使用类型别名,另一个使用尾置返回类型,最后一个使用decltype关键字。你觉得哪种形式最好?为什么?

【出题思路】

直接编写返回数组引用的函数比较烦琐且不易理解,使用类型别名、尾置返回类型和decltype关键字都可以简化这一过程。

【解答】

1 使用类型别名:

typedef string arr[10];
arr& func();

使用尾置返回类型:

auto func()->string(&)[10];

使用decltype关键字:

string str [10];
decltype(str) &func();

本页共24段,845个字符,1161 Byte(字节)