C++ vector::assign的使用

  • Post author:
  • Post category:其他


一、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

参考:


C++STL中vector容器 assign()函数的用法_xlm289348的专栏-CSDN博客


如何在vs2013中打开内存查看窗口_博客小站-CSDN博客_vs内存分析窗口



版权声明:本文为sinat_31608641原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。