程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C++的一些黑暗料理,料理

C++的一些黑暗料理,料理

編輯:C++入門知識

C++的一些黑暗料理,料理


本文中的“黑暗料理”僅限本人在學習C++的過程中感覺易忘、有趣、不為大多數人所知的一些特性。

1. C++中int型數據在VC++環境下最小值為什麼是 -32678,而不是-32677,其中涉及到原碼、補碼、反碼的一些知識。

2. C++中的運算符的優先級及結合性。

3. C++中強制類型轉換的方法:1)double (a),2)(int) x,3)(float)(5%3)。

4. C++中的逗號運算符和逗號表達式,優先級最低,表達式2的值是整個表達式的值。

5. 在標准輸入輸出流中使用操作符,需要包含 iomanip 頭文件。

6. 帶有默認參數的函數,默認參數總是放在函數形參列表的最後。

7. 函數重載與函數模板。其中重載函數僅要求函數名相同,參數類型/數目/順序有一項不同即可,返回值可同可不同。

8. 函數的形參與實參,函數的形參在定義函數的時候是不占用存儲單元的,只有在函數調用時,才會從動態存儲區為形參分配內存,然後函數調用結束後

    馬上釋放存儲單元。函數的實參和形參所用的當然不是同一塊存儲單元。

9. 數組在定義或者作為函數形參的時候可以省略第一維的值,但是不可以省略第二維或者更高維的值。

10. 包括一維、二維、多維、字符數組在內的各種各樣的賦初值初始化的方法。

11. 關於字符串結束標志 ‘ \0 ’。它是自動在字符串後面添加的,前面的字符數為字符串的實際長度。但沒有提供足夠的初值的時候,字符數組會默認數組

     成員是‘ \0 ’,就像數組默認為 0 一樣。用字符串為字符數組賦初值的時候,小心因為‘ \0 ’的原因而出錯(數組長度不夠)。字符數組最後完全可以不是‘ \0 ’。

12. 處理字符串的問題上,C語言:字符串常量;字符數組;字符串處理函數。

     C++:string類。

13. 在VC++環境下,一個char型數據占一個字節,一個int型數據占兩個字節,一個float型的數據占4個字節,一個double型數據占8個字節。

14. 在VC++環境下,會為每一個指針變量(不論其指向的類型是什麼)分配 4 個字節的存儲空間。

15. C++中的傳值與傳址: 經典的swap函數,錯誤的寫法中只是形參的值交換,實參的值並沒有變化,正確的用指針的寫法中,形參為指針變量,直接修改

      了對應存儲單元的值。這兩種方式都屬於傳值方式。

      而正確的使用引用的寫法中,是C++中的傳址方式。

16. 共用體和枚舉。

17. int* p[4] 與 int (*p)[4]以及 int p[x][4]的區別,詳見 http://blog.csdn.net/ajioy/article/details/6951643

ps:不定期更新。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved