C++Primer学习笔记:第1章 开始
生活随笔
收集整理的這篇文章主要介紹了
C++Primer学习笔记:第1章 开始
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本博客為閱讀《C++ Primer》(第5版)的讀書筆記
ps:剛開始的時候我將所有的筆記都放在一篇博客中,等看到第六章的時候發現實在是太多了,導致我自己都不想看,為了日后回顧(不那么有心理壓力),我將筆記拆分為一章一章的。
- 在大多數系統中,main的返回值被用來指示狀態。返回值0表示成功,非0的返回值的含義由系統定義,通常用來指出錯誤類型。在Unix中程序運行以后返回值保存在$?中(必須在剛運行后打印輸出)
- 編譯時可能需要加上-std=c++11打開對C++11標準的支持,一般會加上-Wall參數,可以對有問題的程序結構發出警告
- 如果想要通過打印語句進行調試,一定要及時使用endl操縱符刷新流,否則如果程序崩潰,可能無法得到輸出信息,從而導致關于程序崩潰位置的錯誤推斷
- 標準庫定義的所有名字都在命名空間std中
- /*和*/之間不能包含*/,可以包含/*和//
- 當我們使用一個istream對象作為條件時,其效果是檢測流的狀態。如果流是有效的(未遇到錯誤)檢測成功,當遇到文件結束符(end-of-file),或遇到一個無效輸入時,istream對象的狀態會變為無效,返回假
- 在Unix系統中,文件結束符為Ctrl+D
- 按照編譯錯誤報告的順序來逐個修正錯誤,因為錯誤經常有傳遞效應,后面的錯誤經常是由前面的錯誤引起的。在每修改一個(或一小部分)明顯的錯誤后就重新編譯
- 用cin進行循環讀入的格式為while(cin>>x)。但是如果用Ctrl+C中斷讀入會導致cin失效
- 對cin和scanf的輸入速率進行了測試,一般情況下cin比scanf慢許多,在讀入規模在1e6規模就會有明顯的差距。但是可以用ios::sync_with_stdio(false);加速流,這樣會關閉和stdio的同步,在網上查了一下,這就要求我們在混用cout和printf的時候都要及時清空緩沖區(輸出endl或者\n),問題不大。在加速流以后,cin和scanf的效率差不多,在1e8數量級的時候cin的效率超過了printf(實測)
- 注意判等運算符為==,為了避免寫成=出錯,一個良好的編程習慣是常量 == 變量,這樣如果我們寫錯了就會報錯
- 標準頭文件一般不加后綴,包含來自標準庫的頭文件時,應該使用<>包圍頭文件,對于不屬于標準庫的頭文件,則用""包圍
- 為了使用一個類,我們不必關心它是如何實現的,只需要知道類對象可以執行什么操作
- 點運算符.的運算結果是右側運算對象指定的成員,調用運算符()里面放置參數列表。
- 緩沖區是一個存儲區域,用于保存數據。IO設施通常將輸入(輸出)數據保存在一個緩沖區中,讀寫緩沖區的動作與程序中的動作是無關的。我們可以顯式地刷新緩沖區,以便強制將緩沖區中的數據寫入輸出設備。默認情況下,讀cin會刷新cout,程序非正常終止也會刷新cout
- 類類型的變量如果未指定初值,則按類定義指定的方式進行初始化。定義在函數內部的內置類型變量默認是不初始化的,除非有顯式的初始化語句
總結
以上是生活随笔為你收集整理的C++Primer学习笔记:第1章 开始的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 习惯性流产的检查怎么做
- 下一篇: QT子线程与主线程的信号槽通信