C++基礎知識易錯點總結

2020-09-29 11:00:32

不能被過載的運運算元

在C++中,不能被過載的運運算元有:

  • . 成員運運算元
  • .* 成員指標運運算元
  • :: 作用域運運算元
  • ?: 條件運運算元

神奇的變數名y1

顯示變數 y1 和 C++ 標準庫中的某個變數名稱衝突,這個問題應當引起注意。這不是標頭檔案寫成 <bits/stdc++.h> 引起的,即使換成各具體的標頭檔案(< iostream >, < algorithm >, < ctring >)還是會發生這個錯誤。

並且儘量不要用到萬能頭,有多少就開多少,不然會開一些奇奇怪怪的函數然後導致錯誤。

main()函數的返回值

main()這個函數返回值為int,long long肯定不行,編譯都過不了。有時為了方便把int替換成long long,會用到搜尋功能中的替換檔案內容,然後以為就一了了之了。(printf也會被替換)

迴圈語句問題

  • while(條件)為false時,迴圈體不執行;
  • do while(),迴圈體至少執行一次;
  • break用於終止離它最近的迴圈語句;

過載運運算元

在過載運運算元時,需要注意到const,即使漏掉之後c++11的編譯器也不會報錯但是使用一些比較lj的編譯器(如noi的 )就過不了。
所以還是要養成習慣
(你說用friend還有什麼事)