c 學習筆記

2022-09-08 06:27:08 字數 1344 閱讀 5428

1、使用c++11的標準來編譯c++要新增-std=c++11引數(gcc版本要大於4.8)

g++ -std=c++11 test.cpp -o test
2、輸入eof
windows    : ctrl+z

linux/unix : ctrl+d

3、引用初始化

普通引用只能用乙個左值(物件)進行初始化,因為只能引用乙個物件。

int &a = b;                                 # a是b的引用,通過a可以修改b的值

vector::iterator &it = ivec.begin(); # 錯誤,ivec.begin()返回的是乙個值,是乙個臨時物件,在return語句執行完後,就會被銷毀,這樣就返回了乙個懸空的引用。

# 新增中間變數

vector::iterator a = ivec.begin(); # 賦值給中間變數,中間變數是乙個左值

vector::iterator &it = a; # 左值初始引用。

# 返回引用的函式,可以初始化引用

int &getref(); # 返回的是乙個引用,所以getref()是乙個左值。

int &c = getref(); # 左值可以初始化化引用

const 引用可以用乙個右值進行初始化

const int &a = 5;                                # a不能改變

const vector::iterator &it = ivec.begin(); # it不能改變,++it都是非法的,沒有意義

改變臨時變數的生命週期

vector::iterator &&it = ivec.begin(); # 新增兩個「&」符號,產生乙個返工值的副本?

4、man命令來檢視類的成員
man std::string    // 可以檢視string的成員變數和成員函式的宣告。
5、使用標準庫的型別和物件
使用標準庫型別和物件要分兩步

1、include標準庫的標頭檔案

2、using namespace std; 或者每個型別前都加上std::,表示這個型別是標準庫中的。

只include標頭檔案,編譯器是找不到型別或物件的,為什麼還不知道。

std::string //使用標準庫中的類

std::cout //使用標準庫中的物件

C 學習筆記( )

一 語法 迴圈 foreach 型別識別符號 in 表示式 code 用法 例子int temp foreach int num in temp 每次從temp取乙個元素賦給num直至取完 console.writeline n num 每行顯示乙個元素 執行結果 c 中唯讀 只寫控制 class ...

C 學習筆記

1.函式特徵 有函式頭和函式體 接受乙個引數 返回乙個值 需要乙個原型。2.c 命名規則 在名稱中只能使用字母字元 數字和下劃線 名稱的第乙個字元不能是數字 區分大寫字母和小寫字母 不能將c 關鍵字用作名稱 以兩個下劃線或下劃線和大寫字母打頭的名稱被保留給實現 編譯器及其使用的資源 使用,以乙個下劃...

c 學習筆記

屬性 屬性開頭字母大寫 屬性可以判斷輸入的非法值 屬性本身不儲存值 依靠字段 索引器 using system using system.collections.generic using system.linq using system.text namespace b try catch exc...