C 09 順序容器

2022-05-04 17:30:13 字數 2995 閱讀 8708

#include #include #include #include #include using std::vector; using std::list; using std::deque;

using std::string; using std::cin; using std::cout; using std::endl;

int main()

; size_t words_size = sizeof(words) / sizeof(char *);

listwords2(words, words + words_size); // string 資料 轉list

const list::size_type list_size = 42; // 分配並初始化指定數目元素

listslist(list_size, "oh"); // 42 string each is oh

listilist2(list_size); // 指定大小

return 0;

}

#include #include #include #include #include using std::vector; using std::list; using std::deque;

using std::string; using std::cin; using std::cout; using std::endl;

int main()

cout << endl << "逆序:" << endl;

for (list::const_reverse_iterator iter = ilist.rbegin(); iter != ilist.rend(); iter++) // 逆序輸出list

cout << endl;

// 容器大小操作

cout << "list 元素個數:" << ilist.size() << endl;

cout << "list maxsize :" << ilist.max_size() << endl;

cout << "list is empty:" << ilist.empty() << endl;

listilist2(10, 42);

ilist2.resize(15); // add 5 elemet of value 0 back of list

ilist2.resize(25, -1); // add 10 elemets of value -1 back of list

ilist2.resize(5); // erases 20 elements from the back of list

// 訪問元素

vectorsvec;

svec.push_back("a");

svec.push_back("b");

vector::reference val1 = svec.front();

vector::reference val2 = svec.back();

cout << "first element : " << val1 << endl;

cout << "last elememt : " << val2 << endl;

cout << "second element : " << svec[1] << endl;

// 刪除元素

dequeid(5,2);

while (id.empty())

listslist(10, "a");

slist.back() = "b";

string serachvalue("b");

list::iterator it2 = std::find(slist.begin(), slist.end(), serachvalue);

if (it2 != slist.end()) slist.erase(it2); // 找到並刪除

for (list::const_iterator iter = slist.begin(); iter != slist.end(); iter++) // 正序輸出list

slist.clear(); // clear list

listslist2(2, "a");

listslist3(2, "b");

slist2 = slist3; // 清空slist2 , 將slist3元素賦值給slist2

slist2.swap(slist3); // 交換內容

slist2.assign(slist3.begin(), slist3.end()); // 使用一段內容將slist2重新設定

slist2.assign(2, "c"); // 使用2個c重新設定slist2

return 0;

}

#include #include #include #include #include using std::vector; using std::list; using std::deque;

using std::string; using std::cin; using std::cout; using std::endl;

int main()

#include #include #include #include #include #include #include using std::vector; using std::list; using std::deque; using std::stack;

using std::string; using std::cin; using std::cout; using std::endl;

int main()

intstack.pop();

} cout << "out program ran with " << error_cnt << " errors" << endl;

return 0;

}

C 09原型模式

原型模式 prototype 用原型例項指定建立物件的種類,並通過拷貝這些原型建立新的物件。原型模式的結構圖 prototype原型類,宣告乙個轉殖自身的介面 concreteprototype具體原型類,實現乙個轉殖自身的操作 client 讓乙個原型類物件轉殖自身 執行的是深拷貝 從而建立出乙個...

c09 虛繼承,析構,公約數

1.虛繼承,處理b,c繼承a,而d又繼承bc的問題 include using namespace std class a return a int gcb int a,int b 5.求絕對值 a 0?a a 6.父子類之間沒有過載,同名覆蓋 7.過載與返回型別無關 8.建立子類時,如果沒有在初始...

從0自學C 09 抽象工廠模式例項

1.適用環境 主要是用在生產製造多種產品,軟體有多種 多種資料庫等環境 2.模式定義 3.模式結構 抽象工廠模式包含如下角色 為了更清晰地理解工廠方法模式,需要先引入兩個概念 流程介面 inte ce iflow class flowa iflow public idispensing create...