|
|
1
1
你误解了向量如何管理它们的记忆。 无论您使用的是简单赋值还是移动,都不会得到指向内存中相同数据的两个不同向量。在分配情况下,删除目标中的任何数据,然后复制源中的数据并将其添加到目标中。在移动情况下,删除目标中的任何数据,然后从源中删除源中的数据并将其添加到目标中。 要回答您的问题“如何将a移动到b(以避免浪费复制时间),同时能够将a和b都用作另一个的引用?”-您不应该将a移动到b(因此没有时间复制数据),然后将b定义为对a的引用或指向a的指针:
b\U ref和b\U ptr都允许访问a中的数据,而无需制作任何副本。 |
|
|
Setu · 如何将元素从std::map移动到std::vector 1 年前 |
|
|
Patrycjerz · C++标准中的移动概念 8 年前 |
|
|
teaspoon · cmd在执行@移动“%f”时排除子文件夹 8 年前 |
|
Remi.b · 保持原始对象的同时移动 8 年前 |
|
|
user2561762 · 通过移动派生类构造基类 8 年前 |