完美建设工程有限公司网站,包装设计网站素材,网站功能策划,国内免费云服务器推荐参考c官方手册
vector::assign是C标准模板库中的一个函数#xff0c;它的主要功能是给vector容器重新赋值。具体来说#xff0c;vector::assign函数会删除vector中的所有元素#xff0c;并根据用户提供的参数重新填充。
这个函数有三种形式#xff1a; template cla…参考c官方手册
vector::assign是C标准模板库中的一个函数它的主要功能是给vector容器重新赋值。具体来说vector::assign函数会删除vector中的所有元素并根据用户提供的参数重新填充。
这个函数有三种形式 template class InputIterator void assign (InputIterator first, InputIterator last); 此形式将vector的内容替换为[first,last)区间内的元素。 注意此处的方括号表示闭区间圆括号表示开区间也就是包含first不包含last。 void assign (size_type n, const value_type val); 此形式将vector的内容替换为n个复制的val。 void assign (initializer_listvalue_type il); 此形式将vector的内容替换为初始化列表il中的元素。
下面是一些使用vector::assign的例子 第一种
#include iostream
#include vectorint main()
{// 创建一个vector对象v1和v2std::vectorint v1;std::vectorint v2;// 使用push_back()函数给v1添加元素for (int i 1; i 5; i)v1.push_back(i);// 使用迭代器范围赋值v2.assign(v1.begin(), v1.end());std::cout The vector elements of v2 are: ;for (int i 0; i v2.size(); i)std::cout v2[i] ;return 0;
}第二和第三
#include iostream
#include vector
int main()
{// 创建一个vector对象vstd::vectorint v;// 使用assign()函数给v分配5个元素每个元素的值都是10v.assign(5, 10); //第二种用法std::cout The vector elements are: ;for(int i0; iv.size(); i)std::cout v[i] ;// 使用assign()将v的内容替换为2, 3v.assign({2, 3}); // 第三种用法std::cout \nThe vector elements are: ;for(int i0; iv.size(); i)std::cout v[i] ;return 0;
}以上程序的输出将会是
The vector elements are: 10 10 10 10 10
The vector elements are: 2 3官方示例
// vector assign
#include iostream
#include vectorint main ()
{std::vectorint first;std::vectorint second;std::vectorint third;first.assign (7,100); // 7 ints with a value of 100std::vectorint::iterator it;itfirst.begin()1;second.assign (it,first.end()-1); // the 5 central values of firstint myints[] {1776,7,4};third.assign (myints,myints3); // assigning from array.std::cout Size of first: int (first.size()) \n;std::cout Size of second: int (second.size()) \n;std::cout Size of third: int (third.size()) \n;return 0;
}Edit run on cpp.sh
Output:
Size of first: 7
Size of second: 5
Size of third: 3