作者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/cn.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