C++之函數深究

函數返回值爲數組指針

一共有三種寫法,如下:

//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);
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章