关于对已被移动的分配器调用`deallocate`的合规性及MSVC标准容器相关行为的问询
关于对已被移动的分配器调用
deallocate的合规性及MSVC标准容器相关行为的问询 各位好,我最近在调试MSVC下的标准容器行为时发现了一个疑惑点:当MSVC对std::set执行移动构造操作时,会同时移动构造其内部的分配器。但后续当销毁那个被移动过的源set时,它竟然会使用这个已经被移动过的分配器来调用deallocate方法。
我梳理了MSVC的具体行为逻辑,还写了一段代码用来追踪分配器的操作流程:
#include <set> int main() { // Allocator actions when default-constructing s1:
备注:内容来源于stack exchange,提问作者Sven Sandberg
相关产品推荐
相关产品推荐

