栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

C++ 学习之vector容器基本赋值

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++ 学习之vector容器基本赋值

1、功能:
  • vector数据结构和数组非常相似,也称为单端数组
2、vector与普通数组区别:
  • 不同之处在于数组是静态空间,而vector可以动态扩展
3、动态扩展:
  • 并不是在原空间之后续接新空间,而是找更大的内存空间,然后将原数据拷贝新空间,释放原空间
4、vector容器的两种赋值操作(构造函数和 =)
#include
#include
#include"myarray.hpp"
#include
#include
using namespace std;


void printVector(vector& v)
{
	for (vector::iterator it = v.begin();it != v.end();it++)
	{
		cout << *it<<" ";
	}
	cout << endl;
}

void test01()//构造函数赋值操作
{
	vector v;//默认构造

	for (int i = 0;i < 5;i++)
	{
		v.push_back(i);
	}

	printVector(v);

	vector v1(v.begin(), v.end());//将v[begin(), end())区间中的元素拷贝给v1

	printVector(v1);


	vector v2(10, 100); // 构造函数将10个100拷贝给本身。

	printVector(v2);

	vector v3(v);

	printVector(v3);

}


void test02()// =赋值操作
{
	vector v;//默认构造

	for (int i = 0;i < 5;i++)
	{
		v.push_back(i);
	}
	printVector(v);

	vector v1;
	v1 = v;       //=运算符重载
	printVector(v1);

	vector v2;
	v2.assign(v.begin(), v.end());//将[beg, end)区间中的数据拷贝赋值给本身。
	printVector(v2);

	vector v3;
	v3.assign(10,8);//将10个8拷贝给本身。
	printVector(v3);

}


int main()
{
	test01();//构造函数赋值

	test02();// = 赋值

	return 0;
}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/334497.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号