一、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内存分析窗口

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐