我正在阅读 c++11 的 wiki 条目,我发现了一个不受限制的联合部分,您在其中为非平凡的成员链接调用放置新,但这里的示例与删除不匹配。
所以我的问题是:您是否需要无限制联合的展示位置删除?如果是,如何?如果不是,为什么?调用析构函数就足够了吗?
例子:
class U_t
{
public:
union U
{
string s;
U () { new (s) string(); }
}
U _data;
~U_t () {
_data.s.~string();
//and now what?
}
}