1.string( &func( ))[10];
上述声明的含义是: func ()表示调用func函数无须任何实参,(&func( ) )表示函数的返回结果是一个引用,( &func( ))[10]表示引用的对象是一个维度为10的数组,string (&func( )) [10]表示数组的元素是string对象。
2.使用类型别名
typedef string arr [10];
arr& func( );
3.使用尾置返回类型
auto func( ) ->string(&)[10];
4.使用decltype关键字
string str [10];
decltype (str) &func( );