您的位置:首页 > 其它

std::vector的简单实验

2016-05-17 22:03 295 查看
std::vector<template class>  就是动态数组。

这里面有很多的方法。

比如:size(),capacity(),resize();reverse();pop_back();swap();

以及遍历操作。

















/*实验一

//定义std::vector<class T>变量

std::vector<int> myVec(6);

cout << myVec.capacity() << endl;//数组的容量

cout << myVec.size()<< endl;//数组中元素个数。

cout << "**************************" << endl;

//赋值操作

for (std::vector<int>::size_type i = 0; i != myVec.capacity();i++)

{

myVec[i] = i * 2;

}

//打印操作(一)

for (auto elem : myVec)

{

cout << elem << endl;

}

cout << "**************************" << endl;

//打印操作(二)

for (std::vector<int>::iterator iter = myVec.begin(); iter != myVec.end();++iter)

{

cout << *iter << endl;

}

//打印某一个位置的元素

cout << "**************************" << endl;

cout << myVec.at(0) << endl;

cout << myVec.at(1) << endl;

cout << myVec.at(2) << endl;

cout << myVec.at(3) << endl;

cout << myVec.at(4) << endl;

cout << myVec.at(5) << endl;

//获取第一个,最后一个的值

cout << "**************************" << endl;

cout << myVec.front() << endl;

cout << myVec.back() << endl;

*/

//实验二

 std::vector<int> vec1 = {1,2,3,4,5,6};

 cout << vec1.capacity() << endl;//数组的容量

 cout << vec1.size() << endl;//数组中元素个数。

 std::vector<int> vec2;

 vec2.assign(3, 6); //设置3个6.

 cout << vec2.capacity() << endl;//数组的容量

 cout << vec2.size() << endl;//数组中元素个数。

 cout << vec2[0] << endl;

 cout << vec2.at(1) << endl;

 cout << vec2.at(2) << endl;

 cout << "******************************" << endl;

 vec2.reserve(4); //重新设置容量的同时,不进行赋值操作。

 cout << vec2.capacity() << endl;//数组的容量

 cout << vec2.size() << endl;//数组中元素个数。

 for each (int var in vec2)

 {

  cout << var << endl;

 }

 cout << "******************************" << endl;

 ////cout << vec2.at(3) << endl;

 vec2.resize(5); //它是开辟空间的同时赋值为空

 cout << vec2.capacity() << endl;//数组的容量

 cout << vec2.size() << endl;//数组中元素个数。

 cout << "******************************" << endl;

 for (auto i:vec2)

 {

  cout << i << endl;

 }

 vec2.assign(vec1.begin(), vec1.end()); //这是第二种赋值方式。

 cout << "******************************" << endl;

 for (auto i : vec2)

 {

  cout << i << endl;

 }


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: