1、使用c++11的標準來編譯c++要新增-std=c++11引數(gcc版本要大於4.8)
g++ -std=c++11 test.cpp -o test
2、輸入eofwindows : 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...