[問題] 初值陣列 對象為 指標時怎麼初始化
一般如果是 vector<T> 可以透過 initializer_list 直接初始化
template <typename T>
class Arr {
public:
Arr(initializer_list<T> i): arr{i} {}
vector<T> arr;
};
如果資料成員為指標,那能夠使用 initializer_list 初始化嗎?
template <typename T>
class Arr {
public:
Arr(initializer_list<T> i): len(i.size()), arr{??} {}
size_t len;
T* arr;
};
嘗試使用這樣並不可行呢
Arr(initializer_list<T> i): len(i.size()), arr(new[len]{i}) {}
還是只能在定義內賦值了QQ
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.166.131.197
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1490427058.A.CDE.html
※ 編輯: hunandy14 (218.166.131.197), 03/25/2017 15:34:34
推
03/25 21:22, , 1F
03/25 21:22, 1F
→
03/25 21:22, , 2F
03/25 21:22, 2F
推
03/25 21:25, , 3F
03/25 21:25, 3F
了解~ 感謝
※ 編輯: hunandy14 (114.39.160.105), 03/25/2017 21:49:29
討論串 (同標題文章)
完整討論串 (本文為第 1 之 3 篇):