【发布时间】:2018-09-29 14:21:47
【问题描述】:
我在当前草稿中没有看到关于 subj 的任何内容。我没听错吧,下面的代码
struct Omg { Omg &operator=(Omg const &o) { throw 0; } };
std::tuple t0{42, Omg{}};
std::tuple t1{10, Omg{}};
t1 = t0;
是否完全允许让 t1 处于半分配状态?即,它的第一个元素可能已经改变,而第二个元素可以保持原样,甚至变得不一致?
【问题讨论】:
-
每个抛出的重载赋值运算符不都是这种情况吗?
-
@PlinyTheElder No.
标签: c++ language-lawyer c++17