作者hunandy14 (Charlott.HonG)
看板C_and_CPP
標題[問題] 初值陣列 對象為 指標時怎麼初始化
時間Sat Mar 25 15:30:56 2017
一般如果是 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://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1490427058.A.CDE.html
※ 編輯: hunandy14 (218.166.131.197), 03/25/2017 15:34:34
1F:推 loveflames: 自己new出來的動態陣列沒有那麼美的事,想跳過迴圈就 03/25 21:22
2F:→ loveflames: 對全部元素賦值 03/25 21:22
3F:推 loveflames: 仔細想一下就能知道i不能這樣放進arr 03/25 21:25
了解~ 感謝
※ 編輯: hunandy14 (114.39.160.105), 03/25/2017 21:49:29