您的位置:首页 > 其它

顺序容器的简单初始化

2017-01-17 16:44 204 查看
#include <iostream>

#include <vector>

#include <list>

#include <forward_list>

#include <deque>

#include <array>

using namespace std;

int main()

{
vector<const char *> cv1 = {"a","an","the","is","computer"};

vector<const char *> cv2(cv1);//用相同类型的容器,以及容器元素类型都是一致 初始化。

vector<const char *> cv3 = cv2;//同上

list<const string> authors = { "wanggang", "yilin","yanglin","zhangmin" };//可以读 authors 中的元素
//list<string> authors{ "wanggang", "yilin", "yanglin", "zhangmin" }; //同上一句列表初始化
auto it1 = authors.begin();//list<string>::iterator
auto it2 = authors.rbegin();//list<string>::reverse_iterator
auto it3 = authors.cbegin();//list<string>::const_iterator
auto it4 = authors.crbegin();//list<string>::const_reverse_iterator
auto it5 = authors.end();

forward_list<int> ivec(10);//只有顺序容器  的 构造函数才能接受大小参数(不包括array)   string不适用

deque<string> sde(10);//10 个元素 ; 空string

vector<string> sv1(it1, it5);// 迭代器 it1 与it5 范围的元素拷贝   (此初始化方法array不适用)  

vector<int> iv1(10, 0);//10个 (int) 元素,初始值为 0
 //元素类型是内置类型 或者 是具有默认构造函数的 类类型,可以提供一个容器大小参数

array<string, 10> sa1;//需指定大小
array<int, 10> ia1;//同上

for (size_t i = 0; i < ia1.size(); i++)
{
ia1[i] = i;
cout << ia1[i] << endl;
}
getchar();

return  0;

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