std::list是否保证项永远不会被移动到不同的内存位置?
Does std::list guarantee that items will never be moved to a different memory location?
是否保证一旦std::list
或std::forward_list
项被分配,它将保持在相同的内存位置(地址),直到销毁?当然,除了列表本身被复制。
如果你查看所有不破坏元素的函数的文档,(insert, emplace, push_back等),你会看到它们有一个注释"没有引用无效",这相当于你所要求的(对象保持在相同的内存位置)。所以,是的。
相关文章:
- 如何在窗口之间移动 std::unique_ptr 而不会冒内存泄漏的风险?
- vector是否为std::移动的对象连续分配内存
- 垃圾回收正在移动内存中被引用的对象,破坏Unreal4引擎中的引用
- 在预分配的内存中移动数据
- 导入的库函数是否可以在内存中移动
- 内存移动的性能与memcpy相比是两倍?
- 在数组中移动一系列元素,无需额外内存
- 将函数移动到线程(使用 lambda)时内存泄漏
- 使用STD ::移动时的内存泄漏
- C 指向对象,然后移动其内存位置
- 从字符串和向量移动以不拥有任何堆内存
- memmove会移动元素(就像前面的方式相同),还是一次抓住整个内存块
- C 可以在程序执行过程中移动内存映射的文件(boost :: intercecess)移动
- 将指针移动到其他位置后删除分配的内存
- 将 SQL 数据库移动到内存中
- int类型的指针在递增后移动内存中的1个地址
- 如何将对象移动到未初始化的内存中
- C++在内存中逐字节移动
- 使用内存移动构造函数
- 环形缓冲区:缺点是向后移动内存