给定一个不连续的 STL 容器(您也可以考虑) boost::unordered_map
,boost::multi_index_container
如果没有删除任何元素,是否可以保证容器内元素的内存地址永远不会改变(但可以添加新的)?
例如
class ABC { };
//
//...
//
std::list<ABC> abclist;
ABC abc;
abclist.insert(abc);
ABC * abc_ptr = &(*abclist.begin());
换句话说,如果我abc_ptr
不从.abc
abc
abc_list
我问这个是因为我要ABC
在 C++/Cli 中包装类,所以我需要指向ABC
包装类中的实例的指针。ABC 是一个简单的类,我希望容器来处理内存。如果答案是否定的,那么我将使用std::list<ABC*>
.