C 學習筆記(二)

2021-07-11 21:35:34 字數 1154 閱讀 2804

1)抽象資料型別庫 和 標準庫型別(string :可變長字串;vector:可變長的集合;迭代器:是string和vector的配套型別)

2)命名空間 using

a)我們基本上用到的是std,也可以顯式的將他表現std::endl;表示編譯器從std的作用域中尋找到endl的名字;

可以using std::cin; 一旦使用,我們將不能使用顯式的使用方式。

b)標頭檔案不應包含using;因為標頭檔案的內容會被拷貝到所有引用它的地方

3)標準庫string–可變長的字串行

a)初始化:預設初始化「」;直接初始化,拷貝初始化

b)cin是遇到空白停止的;自動忽略開頭的空白(空格換行製表等),從第乙個字元開始讀,知道遇到下乙個空白;

c)getline讀取一行,保留空白符。引數是輸入流cin,string物件;直到遇到換行符為止。將所讀內容傳string物件中去,但是,不包含換行符。

d)empty()。判斷string是否為空。size(),計算string物件的長度。

4)標準庫型別vector

a)所有物件的型別相同。必須包含#include

容器! 其實是類模板。(c++有類模板和函式模板)

模板本身不是類或函式。編譯器根據模板建立類或函式的過程稱為例項化。

b)初始化:預設初始化,包含0個元素;vector ivec; 可以在執行時獲取元素的值,再逐一新增。

允許將乙個vector拷貝給另乙個vector 。vector ivec2(ivied);這兩個的型別必須相同。

列表初始化vector物件。vector articles = ;/vector articles;c++11三個元素。

建立指定數量的元素。vector articles(10,』\0』);

如果vector物件的元素為內建型別,如int,則元素初始化為0;vector articles(10);

注:圓括號,構造;花括號,列表初始化。

c)新增元素

push_back:將乙個值當成vector物件的尾元素壓倒vector物件的尾端。

vector能高效快速的新增元素,所以在定義時設定大小是沒有必要的。建立乙個空的vector物件,在執行時動態的新增元素。

d)其它操作

不能用下標方式新增元素。

C 學習筆記(二)

在學習最新的c 標準過程中會碰到很多新問題,這些問題有時候很難理解為什麼會發生。更奇怪的是,似乎跟開發工具有關。如下面這個在vs2005下的例子 word istatus ifstream ifs if i it szprlfile,0 0 std locale global std locale ...

C 學習筆記二

chapter22 滾動字幕程式 1.ondraw函式中寫畫得內容.使用invalidate 或者 invalidaterect 重新整理 觸發ondraw 得呼叫.2.windows不允許直接 訪問顯示硬體 我們必須通過和視窗 關聯得 裝置環境 跟顯示硬體 通訊 裝置環境由c 得cdc類 物件表示...

C 學習筆記(二)

本期話題 字串文字常量,指標,引用 1 關於字串文字常量 sizeof bohr 5 字串文字常量的型別是 適當個數的const字元的陣列 所以 bohr 的型別就是const char 5 下面的賦值是可以的 char p bohr 因為在c c 原來的定義裡,字串文字常量的型別就是char 字串...