|
|
1
1
更好地理解这里的需求会使所需的语义比看起来简单得多:只需提醒自己,移动会使移动的from对象处于“有效但未指定的状态”。这意味着移动的from对象是 不 处于“未初始化”状态(如您所称)。 这意味着,在插入过程中,只有重新定位到上一个有效(初始化)值之后的新值才会移动到未初始化的空间。
使用一个简单的例子:现有向量有六个值,
这意味着
总之,在没有重新分配的情况下进行的插入最终会导致三部分操作:1)未初始化的移动到向量生长到的所有保留的、未初始化的空间中,2)对所有其他移动的值进行移动分配,3)对插入的向量中的新值进行移动指派。 而且,不,没有标准的库算法可以为您处理所有这些,所有这些逻辑都必须实现。但其实并没有那么复杂。 |
|
|
Setu · 如何将元素从std::map移动到std::vector 1 年前 |
|
|
Patrycjerz · C++标准中的移动概念 8 年前 |
|
|
teaspoon · cmd在执行@移动“%f”时排除子文件夹 8 年前 |
|
Remi.b · 保持原始对象的同时移动 8 年前 |
|
|
user2561762 · 通过移动派生类构造基类 8 年前 |