std::vector 是 C++ 标准模板库(STL)中的一个动态数组容器,它提供了在内存中连续存储一系列同类型元素的能力。对于 std::vector,赋值操作是一个常见的操作,它允许我们将一个向量的内容复制到另一个向量中。下面我们将详细讲解 std::vector 的赋值操作,并附上代码示例和讲解,以满足 1500 字的要求。
一、使用赋值运算符进行赋值
赋值运算符 = 是最直接的方式来赋值一个 std::vector。当使用赋值运算符时,右侧向量的内容会被复制到左侧向量中,如果左侧向量之前已有内容,则这些内容会被新内容替换。
代码示例
讲解
在这个例子中,我们首先创建了一个包含五个元素的 vec1,然后创建了一个空的 vec2。接着,我们使用赋值运算符 = 将 vec1 的内容赋给 vec2。此时,vec2 包含了与 vec1 相同的内容。随后,我们修改了 vec1 的第一个元素,但 vec2 的内容没有受到影响,这是因为赋值操作执行的是深拷贝,即创建了原始向量内容的副本。
二、使用 assign 成员函数进行赋值
除了使用赋值运算符,我们还可以使用 assign 成员函数来赋值 std::vector。assign 成员函数提供了更多的灵活性,它允许我们根据迭代器范围、数组或其他容器来赋值。
代码示例
讲解
在这个例子中,我们首先使用 assign 成员函数将 vec1 的内容赋给 vec2。然后,我们创建了一个 std::list 类型的容器 list1,并再次使用 assign 函数将 list1 的