C++筆記

1、何爲對象?

對象是指一塊能存儲數據並具有某種類型的內存空間。

2、初始化和賦值是兩個完全不同的操作,初始化的含義是創建變量時賦予其一個初始值,而賦值的含義是把對象的當前值擦除,而以一個新值來替代。

3、int i{10} 用花括號來初始化變量是C++11新標準 VS2008編譯出錯。

4、聲明(declaration)使得名字爲程序所知,一個文件如果想使用別處定義的名字則必須包含對那個名字的聲明

而定義(definition)負責創建與名字關聯的實體。

extern int i; 聲明        int i;定義

5、標識符(identifier)由字母、數字和下劃線組成,必須以字母或下劃線開頭,用戶自定義的標識符中不能連續出現兩個下劃線,也不能以下劃線緊連大寫字母開頭。此外,定義在函數體外的標識符不能以下劃線開頭。

6、變量命名規範

○標識符要能體現實際含義

○變量名一般用小寫字母index

○用戶自定義的類名一般以大寫字母開頭Sales_item

○如果標識符由多個單詞組成,則單詞間應有明顯區分,student_loan或studentLoan

7、引用(reference)爲對象起了另外一個名字,引用類型引用(refers to)另外一種類型,int &refVal = ival;。程序把引用和它的初始值綁定(bind)在一起,而不是將初始值拷貝給引用。引用並非對象,相反的,它只是爲一個已經存在的對象所起的另外的一個名字。

8、得到空指針的最直接的方法是用字面值nullptr來初始化指針,只是C++11新標準剛剛引入的一種方法,nullptr是一種特殊類型的字面值,它可以被轉換成任意其他的指針類型。

最好使用nullptr。最好初始化所有指針,如果不清楚指針應該指向何處,就把它初始化爲nullptr或者0。

9、如果想在多個文件之間共享const對象,必須在變量的定義之前添加extern關鍵字。

10、頂層const(top-level const)表示指針本身是個常量,更一般的,頂層const可以表示任意的對象是常量,這一點對任何數據類型都使用,如算術類型、類、指針等,底層const(low_level const )表示指針所指的對象是一個常量。

11、C++11新標準,聲明爲constexpr的變量一定是一個常量,而且必須用常量表達式初始化。

12、類型別名,C++11新標準使用別名聲明(alias declaration)來定義類型的別名,using SI = Sales_item。

13、size函數返回的是一個string::size_type類型,是一個無符號類型的數值而且能夠存放下任何string對象的大小。

若n爲負值,s.size() < n的判斷結果肯定是true。

14、字符串字面值與string是不同的類型。

15、c++11新標準提供了一種語句:範圍for(range for)語句,遍歷給定序列中每個元素並對序列中的每個值執行某種操作

for (declaration : expression)

statement         

expression部分是一個對象,用於表示一個序列,declaration部分負責定義一個變量,該變量將被用於訪問序列中的基礎元素,每次迭代,declaration部分的變量會被初始化爲expression部分的下一個元素值。

16、vector()圓括號,表示提供的值是用來構造(construct)vector對象,vector{},花括號表示想列表初始化(list initialize)該vector對象。

17、但凡是使用了迭代器的循環體,都不要向迭代器所屬的容器添加元素。

18、數組,不能將數組的內容拷貝給其他數組作爲其初始值,也不能用數組爲其他數組賦值。

19、要使用範圍for語句處理多維數組,除了最內層的循環外,其他所有循環的控制變量都應該是引用類型。

20、當函數無須修改引用形參的值時最好使用常量引用

21、std::string isbn() const { return bookNo;},像這樣使用const的成員函數被稱爲常量成員函數(const member function)。

22、常量對象,以及常量對象的引用或指針都只能調用常量成員函數。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章