一、assign函数介绍
函数原型:
void assign(const_iterator first,const_iterator last);
void assign(size_type n,const T& x = T());
功能:
将区间[first,last)的元素赋值到当前的vector容器中,或者赋n个值为x的元素到vector容器中,这个容器会清除掉vector容器中以前的内容。
二、实例
int main(int argc, char* argv[])
{
vector<int> v1{ 1,2,3 };
v1.assign(4, 5);
std::cout << "vectorV1" << endl;
for (int val :v1)
{
std::cout << val << endl;
}
vector<int> v2;
std::cout << "vectorV2" << endl;
v2.assign(v1.begin(), v1.end());
for (int val : v2)
{
std::cout << val << endl;
}
return 0;
}
输出结果
同时,打断点,使用VS2017查看内存
使用assign函数之前,内存中是1,2,3
使用之后,内存重新分配,变成4个5
参考:
版权声明:本文为sinat_31608641原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。