定義參考:int& a=i;這里的&可以大概等效于*const(知識面不全,只能用“大概”,不敢妄下斷言,其實,我認為讓我如此的原因是:書上說參考不是物件,但是指標常量顯然是物件);
底層const(限制了指標變數所指物件的值)的限制:
當執行物件的拷貝操作時,拷入和拷出的物件必須具有相同的底層const資格,或者兩個物件的資料型別必須能夠轉換,一般來說,非常量可以轉化成常量,反之則不行,
這可比頂層const(限制指標變數)的限制多啊;
const int sz=get_size(); //sz不是常量運算式,因為:sz本身是常量,但是它的值要等到運行時才能得到;一般來說,你如果認為物件為常量運算式時,就宣告它為constexpr;
頭檔案不應包含using宣告(我最近經常這么干,我也不太懂書上寫的原因,我寫的程式比較簡單,所以沒出現類似錯誤)
觸發getline函式回傳的那個換行符實際上被丟棄了,得到的string并不包括該換行符;
string s1;(注意區別!!!)
while (cin >> s1){
cout << s1<<endl;
}
while (getline(cin, s1)){
cout << s1 << endl;
}
我說怎么經常用strlen(string)而不是string.size();因為string.size()的回傳型別肯定不是int型,而是一種無符號型別(切勿混用無符號型別和帶符號型別),但是可用auto和delctype;
如何更好地理解參考的初始化:
int& a=b; //a系結到b身上了
Warning:因為某些歷史原因,也為了與c兼容,所以c++語言中的字串字面值并不是STL中string的物件,切記,字串字面值與string是不同的型別,(噢噢噢噢噢噢~~~,原來如此)
一般來說,c++程式應該使用形如名為cname的頭檔案而不是name.h的形式,——P82 建議部分
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/282877.html
標籤:其他
上一篇:資料結構復習-線性表知新
下一篇:c語言入門學習(一)
