【发布时间】:2021-09-17 04:41:03
【问题描述】:
lst2 = lst复制或分配 initializer_list 不会复制列表中的元素。复制之后,原件和复制品共享元素。
根据 C++ Primer Table 6.1,分配一个初始化列表将共享数据,但是如果初始化列表与另一个超出范围的共享,例如,下面的代码是函数的一部分
std::initializer_list<int> lst1;
{
std::initializer_list<int> lst2 = {1, 2, 3};
lst1 = lst2;
}
似乎初始化列表可以共享文字的数据,但是标准中指定的数组文字的生命周期是多少?这段代码安全吗?
【问题讨论】:
标签: c++ c++11 initializer-list