C STL基礎易學教程 ORZ式教學

2021-08-17 05:47:47 字數 1326 閱讀 2087

**c++的優點:

1.輸入輸出流:輸入輸出基本型別的資料時,可以不必考慮資料是什麼型別,系統會判斷資料的型別並根據其型別選擇呼叫與之匹配的運算子過載函式。這個過程都是自動的,使用者不必干預。如果在c語言中用prinf函式輸出不同型別的資料,必須分別指定相應的輸出格式符,十分麻煩,而且容易出錯。

2.變數的定義可以在for迴圈裡定義,就好比for(int i=1;i<=10;i++)。但是i變數只有在這個for迴圈裡有效。

3.字串:之所以拋棄char*的字串而選用c++標準程式庫中的string類,是因為他和前者比較起來,不必擔心記憶體是否足夠、字串長度等等,而且作為乙個類出現,他整合的操作函式足以完成我們大多數情況下(甚至是100%)的需要。我們可以用 = 進行賦值操作,== 進行比較,+ 做串聯(是不是很簡單?)。我們盡可以把它看成是c++的基本資料型別。這時候,我們必須包含標頭檔案 。

4.強大的標準模板庫stl:c++標準庫的內容總共在50個標準標頭檔案中定義。在c++程式設計中,要盡可能地利用標準庫完成。這樣做的直接好處包括:

(1)成本:已經作為標準提供,何苦再花費時間、人力重新開發呢;

(2)質量:標準庫的都是經過嚴格測試的,正確性***;

(3)效率:關於人的效率已經體現在成本中了,關於**的執行效率要相信實現標準庫的大牛們的水平;

(4)良好的程式設計風格:採用行業中普遍的做法進行開發。

stl的**從廣義上講分為三類:algorithm(演算法)、container(容器)和iterator(迭代器),幾乎所有的**都採用了模板類和模版函式的方式,這相比於傳統的由函式和類組成的庫來說提供了更好的**重用機會。

首先把string(字串)普及一下

字元流【stringstream|sscanf|sprintf】

algorithm(演算法):

stl_排序_【sort】

stl_二分_【binary_search、upper_bound、lower_bound】

container(容器):

stl_動態陣列_【vector】

stl_對映_【map】

stl_集合_【set】

stl_棧_【stack】

stl_佇列_【queue、priority_queue】

iterator(迭代器)

迭代器在容器中的使用都有體現哦~

如果你看了我的部落格有所收穫,別忘了給博主點個紅燦燦的贊喲(●』◡』●)

如果有錯誤,還請讀者指正!

智漁課堂官方免費教程二十六 Java基礎教程之陣列

舉例 假如現在有十個人排成一隊 張三,李四,王五 這個隊的隊名叫a,然後要求第乙個人從0開始報數 張三報0,李四報1,王五報2 現在要求第乙個人出列,但現在還不知道張三的名字,怎麼辦?那麼只能要求a隊0號出列。請問此時誰會出列?很明顯是張三出列。這對人就形成了類似陣列的結構 其中隊名a就對應陣列名,...

MSP430系列嵌入式實驗教程 基礎

msp430微控制器的cpu屬於risc 精簡指令集 處理器,risc處理器基本上是為高階語言所設計的,因為精簡指令系統很大程度上降低了編譯器的設計難度,有利於產生高效緊湊的 初學者完全可以在不深入了解彙編指令系統的情況下,直接開始c語言的學習。本章介紹msp430微控制器軟體工程的開發基礎,主要講...

嵌入式基礎教程之嵌入式系統的知識體系

嵌入式系統的應用範圍可以粗略分為兩大類 電子系統的智慧型化 工業 控制 現代農業 家用電器 汽車電子 測控系統 資料採集等 計算機應用的延伸 手機 通訊 網路 計算機外圍裝置等 從這些應用可以看出,要完成乙個以mcu為核心的嵌入式系統應用產品設計,需要硬體 軟體及行業領域相關知識。硬體主要有mcu的...