函數返回值爲數組指針
一共有三種寫法,如下:
//one
typedef int arrT[10];
arrT* func(int i);
//two
auto func(int i) -> int(*)[10];
//three
int odd[5] = {1,3,5,7,9};
decltype(odd) *arrPtr(int i);
const_cast和重載
//版本1
const string &shorter(const string& s1,const string& s2){
return s1.size() <= s2.size() ? s1 : s2;
}
//版本2
string& shoterString(string& s1,string& s2){
auto& r = shorterString(const_cast<const string&>(s1),const_cast<const string&>(s2));
return const_cast<string&>(r);
}