順序容器的定義
阿新 • • 發佈:2018-12-09
//順序容器:vector list deque
//順序容器介面卡:stack queue priority_queue
#include<vector>
#include<list>
#include<deque>
#include<iostream>
#include<string>
#include "標頭.h"
#include "標頭1.h"
#include "foo.h"
using namespace std;
int main()
{
vector<string> svec;//預設的建構函式建立的
svec.push_back("hello" );
svec.push_back("sorld");
svec.push_back("wordls");
list<int> list;
vector<Dog> dogvec;
vector<Cat> catlist;
vector<int> ivec;
vector<int> ivec2(ivec);//必須用同等型別的初始化同等型別的
list<string> m;
list<string> slist(svec.begin(), svec.end());//用迭代器把資料拿出來初始化另外一個列表
vector<string>::iterator mid = svec.begin() + svec.size()/2;
deque<string> front(svec.begin(), mid);//用前一半的資料來初始化deque
deque<string> front(svec.begin(), mid);//用後一半的資料來初始化
char *words[] = { "state","pub"};//利用指標把數組裡的一些資料取出來,初始化另外一種順序容器
size_t words_size = sizeof(words) / sizeof (char *);//動態計算數組裡有多少資料
list<string> words(words, words + words_size);//用陣列的資料進行初始化
const list<int>::size_type list_size = 64;
list<string> slist2(list_size,"hello");//初始化了一個字串連結串列,64個字串,64 個字串都是空的
list<int> ilist(list_size);
vector<Foo> a;//a是一個空的向量,a不會去呼叫Foo
vector<Foo> b(10,1);//b裡邊有10個物件,每一個物件都是Foo,使用Foo預設的建構函式進行初始化,如果沒有建構函式
//如果沒有建構函式就會出錯,這麼寫會呼叫foo的建構函式,1是建構函式的引數
//容器裡邊還可以放容器
system("pause");
return 0;
}