假设我有一个大小为 10 的向量(v1)。现在我只想保留部分元素,使用: v1.assign(v1.begin() + 2, v1.begin() + 6);
v1.assign(v1.begin() + 2, v1.begin() + 6);
我不确定的是,原始元素是否会在赋值之前被销毁。如果它们先被摧毁,那么我就不能依赖原始数据。
该页面似乎表明元素首先被删除。然而,快速实验告诉我,数据已正确分配给自身。
那么将向量的一部分分配给自身时会发生什么?
c++ stl vector
c++ ×1
stl ×1
vector ×1