1、cin物件在讀入乙個字元時將忽略空格,所以敲入《空格》y《回車》與只敲入y《回車》的效果是一樣的。如果你想讀入任意乙個字元,包括各種空白字元在內,請使用cin物件的get()函式:
char mychar;
std::cin.get(mychar);
2、讀入一整行輸入,可以使用getline()函式,在呼叫它時,需要給出輸入流的名字「cin」作為第乙個引數,用來儲存輸入值的變數是第二個輸入引數。
**如下:
std::string input;
std::getline(std::cin,input);
tips:
(1)在預設情況下,getline()函式在遇到換行符時將停止讀取輸入,所以必須保證在呼叫它之前緩衝區裡沒有任何多餘的輸入,比如你先讀取乙個整數,再讀取一整行文字,使用者可能輸入54後按下回車鍵,在把54賦值給乙個整數變數後,那個回車符還在緩衝區裡,這將使得下乙個getline()呼叫立刻停止讀取輸入。
(2)getline()函式將丟棄作為文字行結束標記的換行符,所以換行符不可能成為獲得輸入值的那個字串的一部分。
(3)getline()函式還有乙個可選的第3個引數,用來定義乙個停止字元。
3、給函式的輸入引數設定預設值
在定義個人函式的時候,可以給該函式的各個輸入引數分別設定乙個預設值。給某個輸入引數設定乙個預設值的好處是可以讓那個引數成為可選的。具體做法是在函式原型裡(不是在函式的定義裡)用賦值操作符把乙個值賦值給那個輸入引數。
void fn(int n1, int n2=6);
在定義自己的函式時,可以給任意多個輸入引數設定預設值,但是有一點必須注意:必須把所有的必選引數放在可選引數之前,比如:
void fn(int n1,int n2 = 6,in n3 = 4);
4、內聯函式
內聯函式不需要先為它定義乙個原型,整個函式都在main()函式的前面定義。
如果某個函式被編譯器當做內聯函式來處理,最直接的效果是這個函式的呼叫將被替換為實際的函式**,就像那些**是寫在main()函式裡一樣。
其實現在的編譯器在編譯**的時候,它會自動判斷是否要將乙個函式當做內聯函式來處理,而不管這個函式是否定義為內聯函式,所以,換句話說,即使使用了inline關鍵字,函式也不一定肯定就被當做乙個內聯函式來對待。
5、函式內部的靜態變數和非靜態變數的區別:
它們的值在程式的生命週期內即使經歷多次函式呼叫也不會被自動重置。
6、c++允許在類裡宣告常量,但不允許對它進行賦值。
7、構造器(建構函式)
建構函式的名字和它所在的類的名字一樣。
系統會在建立出某個類的乙個新例項之後,立刻自動呼叫這個類的構造器。
建構函式永遠不會有返回值。
8、析構器也像構造器那樣永遠不返回任何值,這兩種方法的區別之一就是析構器不帶輸入引數,簡單的說,就是析構器的宣告永遠是下面這種形式:
~classname();
9、this指標
在類裡,this指標代表當前物件,this指標的基本用途是避免二義性,尤其是在引用變數和屬性的時候。
筆記 《寫給大家看的設計書》
摘錄,於2017年2月24日 1.四大原則 親密 對齊 重複 對比 2.親密 將相關的項組織在一起,物理位置的接近意味著存在關聯 3.親密即資訊分組,使其成為乙個視覺單元 4.對齊 任何元素都不能再頁面上隨意安防,每一項應當與頁面上的某個內容存在某種視覺聯絡 6.原則 頁面上只能使用一種文字對齊 7...
《寫給大家看的設計書》
元素分類放在一起。對齊分為 左對齊 右對齊 居中對齊 兩端對齊 慎用居中對齊,居中對齊的 對齊線 強度弱,沒有力度。對首尾運用重複可以很好地收尾,讓讀者讀到尾部視線停留。整個系統樣式進行重複會讓系統樣式保持一致性,使系統各模組 頁面 看上去是乙個整體。頁面上的元素要有對比,以達到吸引讀者的目的。如果...
寫給大家看的設計書 robin willianms
1.優秀的設計 學習四大基本原則 對比 重複 對其 親密性 認識到自己沒有運用的這些原則 應用基本原則 2.親密性 將相關的項組織在一起 物理位置的接近就意味存在著關聯 親密性意味著關聯 把相關的元素分組在一組,使他們建立更近的親密性 設計 要先從簡單的表達開始 清楚地表達關鍵資訊,包括 誰,做什麼...