C++易錯點總結
阿新 • • 發佈:2019-02-21
返回值 oat 相對 變量 不堪 法規 內容 c++ 默認參數
在眾多編程語言中,C++語法規則是相對較為復雜的,其繼承和重載規則靈活多變,往往會讓初學這苦惱不堪,下面對於C++的一些易錯點進行的總結,希望有所幫助,本文章會持續更新。
- 函數重載與默認參數的二義性
在函數重載中,主要通過參數類型的不同來重載,而不能通過返回值不同來重載。在函數的參數缺省值的設置中要註意不要和函數重載弄混,比如:
void output( int x);
void output( int x, float y=0.0);
這樣就有二義行,如果有函數調用output(a)(a在這裏為一×××數)時,不知道該調用哪個,產生錯誤!
- int和unsigned int的溢出問題
在編程過程中,盡量使用int數據類型,而不用unsigned int類型,即使所要表達的內容沒有負數,如:ID號、統計計數等。
- C++賦值和初始化
C++中,初始化和賦值是兩種不同的操作。並且直接初始化int val(100);和復制初始化int val=100;也是兩個不同的概念,直接初始化效率更高。
- 變量重名
局部變量與全局變量同名,則局部變量在其作用域範圍內屏蔽全局變量。這種錯誤非常隱蔽,非常難於排查,切記!切記!切記!
- 引用必須初始化
引用必須初始化,初始化後就不可更改。
C++易錯點總結