C STL 快速入門指南

2022-02-06 01:08:50 字數 3347 閱讀 8799

c++的標頭檔案一般是沒有像c語言的 .h 這樣的擴充套件字尾的,一般情況下c語言裡面的標頭檔案去掉 .h 然後在前面加個 c 就可以繼續在c++檔案中使用c語言標頭檔案中的函式啦~比如:

1 #include //

相當於c語言裡面的#include

2 #include //

相當於c語言裡面的#include

3 #include //

相當於c語言裡面的#include

4 #include //

相當於c語言裡面的#include

在c語言中用0、1表示 true、false。但是在c++中可以直接用true、false,一切非0數表示true,只有0表示false。

定義好結構體 stu 之後,使用這個結構體型別的時候,c語言需要寫關鍵字 struct ,而c++裡面可以省略不寫:

1

struct

stu ;

5struct stu arr1[10]; //

c語言裡面需要寫成struct

6 stu stu arr2[10];//

c++裡面不用寫struct,直接寫stu就好了~

記住一句話,傳值相當於做了乙份複製拷貝,而通過引用傳遞引數只有乙份拷貝,而且能修改傳入值。 

#include #include 

using

namespace

std;

intmain()

cout

<< v.size()

v1(10); //

初始化設定大小

cout << v1.size()

vector

v2(10, 2); //

初始化設定大小10並且設定預設值為2

for (int k = 0; k < v2.size(); ++k)

cout

return0;

}

1 #include 2 #include 3 #include 

4using

namespace

std;56

intmain()

13for (auto it = s.begin(); it != s.end(); ++it)

16 cout << endl << (s.find(2) != s.end()) << endl; //

使用find函式查詢為2的元素,返回該指標。

17//

如果查詢失敗返回末尾end指標

18 s.erase(1); //

刪除集合s中元素1

19 cout << endl << (s.find(1) != s.end()) << endl; //

此時再查詢元素1就查不到了

20return0;

21 }

1 #include 2

using

namespace

std;34

intmain()

15//

訪問第乙個元素,輸出它的鍵和值

16 cout << m.begin()->first << "

"<< m.begin()->second <17//

訪問最後乙個元素,輸出它的鍵和值

18 cout << m.rbegin()->first << "

"<< m.rbegin()->second <19 cout << m.size() <20return0;

21 }

1 #include 2

using

namespace

std;34

intmain()

9 cout << s.top() << endl; //

訪問s的棧頂元素

10 cout << s.size() << endl; //

輸出s的元素個數

11 s.pop(); //

移除棧頂元素

12return0;

13 }

1 #include 2 #include 3

using

namespace

std;45

intmain()

10 cout << q.front() << "

"<< q.back() << endl; //

訪問佇列的隊首元素和隊尾元素

11 cout << q.size() << endl; //

輸出佇列的元素個數

12 q.pop(); //

移除佇列的隊首元素

13return0;

14 }

1 #include 2

using

namespace

std;34

intmain()

12 cout <13set

s2;14for (int i = 5; i > 0; --i)

17for (auto it = s2.begin(); it != s2.end(); it++)

20return0;

21 }

1 #include 2 #include 3

using

namespace

std;45

intmain()

13 unmap.erase("");

14return0;

15 }

1 #include 2 #include 3

using

namespace

std;45

intmain()

當然這個在演算法裡面最主要的用處不是這個,而是在stl中使用迭代器的時候, auto 可以代替一大⻓ 串的迭代器型別宣告:

1

//本來set的迭代器遍歷要這樣寫:

2for(set

::iterator it = s.begin(); it != s.end(); it++) 5//

現在可以直接替換成這樣的寫法:

6for(auto it = s.begin(); it != s.end(); it++)

水滴可以石穿,笨鳥可以先飛!

GN快速入門指南

新增乙個新的構建引數 不知道發生了什麼事 你只需要從命令列執行gn。在depot tools目錄有乙個同名指令碼gn.py。這個指令碼將在包含當前目錄的源 樹中找到二進位制檔案並執行它。在gyp中,系統會為您生成debug和release建立目錄並相應地進行配置。gn不這樣做。相反,你可以使用你想要...

Mybatis快速入門指南

簡介 當下越來越多的企業專案架構中,在持久層部分,拋棄了hibernate框架,而選用mybatis框架取而代之,旨在更加深入細緻的控制和資料庫的互動。mybatis 本是apache的乙個開源專案ibatis,2010年這個專案由apache software foundation 遷移到了goo...

CVS 快速入門指南

1,從庫里 checkout 專案到本地 cvs co project name 2,檢查本地與庫里的不同 cvs q n up d 3,將庫里的改動應用到本地 cvs q up d 4,新增新的資料夾 檔案 cvs add filename 5,將本地的改動上傳到庫里 cvs ci m comme...