相关疑难解决方法(0)

使用相同的变量销毁然后构造新对象

有时重新开始很好.在C++中,我可以使用以下简单的操作:

{

    T x(31, Blue, false);

    x.~T();                        // enough with the old x

    ::new (&x) T(22, Brown, true); // in with the new!

    // ...
}
Run Code Online (Sandbox Code Playgroud)

在范围的最后,析构函数将再次运行,一切似乎都很好.(我们也说T有点特别,不喜欢被分配,更不用说交换了.)但有些东西告诉我,摧毁一切并再试一次并不总是没有风险.这种方法有可能存在吗?

c++ placement-new

28
推荐指数
4
解决办法
1899
查看次数

标签 统计

c++ ×1

placement-new ×1