私は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?
}
}