Mar*_*tin 7 c++ object-lifetime
可能重复:
我可以在C++中重新开始而不会再次失败吗?
考虑一下T* o = new(T())T,其中定义了一个拷贝构造函数.还假设表达式new使用默认值::operator new()
要重新使用为o分配的内存,而不是删除对象delete o,标准是否允许以下顺序:
o->~T()明确打电话delete o我也问这个,因为我不明白为什么std::map<T, V>(或它operator[]具体),例如,如果上述序列可以在没有这个要求的情况下工作,则需要T定义一个适当的赋值运算符.我怀疑地图是以这种方式设计的,因为operator=()复制构造函数可以有不同的语义,因为大多数时候它们只是以相同的方式实现.