原创 effective C++筆記——設計與聲明

文章目錄讓接口容易被正確使用,不易被誤用設計class猶如設計type寧以pass-by-reference-to-const替換pass-by-value必須返回對象是,別妄想返回其reference將成員變量聲明爲private寧

原创 effective C++筆記——資源管理

文章目錄以對象管理資源在資源類中小心copying行爲在資源管理類中提供對原始資源的訪問成對使用new和delete要使用相同型式以獨立語句將newed對象置入指針 資源需要在使用完之後就歸還給系統,如果不這麼做,糟糕的是就會發生。C

原创 effective C++筆記——構造/析構/賦值運算

文章目錄c++對類默認編寫並調用的函數明確拒絕編譯器自動生成函數爲多態基類聲明virtual析構函數別讓異常逃離析構函數絕不在構造和析構過程中調用virtual函數令operator=返回一個引用(reference to *this

原创 effective C++筆記——儘量替換#define

文章目錄class專屬常量使用inline替代#define儘可能使用constconst成員函數 宏替換的工作是由預處理器來做的,它不會被視爲語言的一部分,因此可能發生的情況是:   定義瞭如下宏提換語句:#define RATIO

原创 C++ Primer第五版筆記--枚舉類型

枚舉類型可以將一組整型常量組織在一起;和類一樣,每個枚舉類型定義了一種新的類型;枚舉屬於字面常量類型。   C++包含兩種枚舉:限定作用域(C++11新標準引入)的和不限定作用域的:   定義限定作用域的枚舉類型的一般形式是:首先是關

原创 C++ Primer第五版筆記——運行時類型識別

運行時類型識別(run-time type identification,RTTI)的功能由兩個運算符實現:  typeid運算符,用於返回表達式的類型。  dynamic_cast運算符,用於將基類的指針或引用安全的轉換成派生類的指

原创 C++ Primer第五版筆記——重載new和delete

要想掌握重載new和delete的方法,首先要對new和delete表達式的工作機理有更多瞭解,當執行一條new/delete表達式時: string* sp = new string("hello"); string* arr =

原创 Makefile知識小記

gcc是linux中的編譯器,它是通過某種規則來進行編譯的,在這之前還有一個linux自帶的構建器叫make,make也需要通過某種規則來構建,而這些規則就通過makefile來設定。 makefile文件的命名可以是makefile

原创 gcc常用參數

工作流程:  1.預處理: -E   宏替換   頭文件展開   註釋去掉   xxx.c ⇒ xxx.i(還是個c文件)  2.編譯: -S   xxx.i ⇒ xxx.s(彙編文件)  3.彙編: -c   xxx.s ⇒ xxx

原创 Vim操作

vim是linux下vi操作的補充,支持方向鍵移動光標,關鍵字變色等功能,需要安裝。並且自帶教程,可以通過在終端中使用shell命令:vimtutor來查看vim教程。 vim三種模式 vim下有三種模式: 命令模式、編輯模式與末行模

原创 linux下靜態庫動態庫的製作和使用

動態庫與靜態庫本質是二進制的源代碼,只是人看不懂,對機器沒有影響。 靜態庫的製作和使用 命名規則:  名字一般分爲三部分,開頭爲“lib”,表示這是一個庫文件,接下來是想取的名字,最後是後綴“.a”(windows下是lib)。例如:

原创 C++ Primer第五版筆記——特殊的IO庫特性(二)

流隨機訪問 各種流類型通常都支持對流中數據的隨機訪問。可以重定位流,使之跳過一些數據。標準庫中提供了一對函數,來定位(seek)到流中的特定位置,以及告訴(tell)當前位置。 seek和tell是否會做有意義的事依賴於流綁定到哪個設

原创 C++ Primer第五版筆記——多重繼承與虛繼承

多重繼承 在派生類的派生列表中可以包含多個基類,以逗號分隔: class Panda : public Bear,public Endangered 和單繼承一樣,多重繼承的派生列表也只能包含已經被定義過的類,而且這些類不能是fin

原创 C++ Primer第五版筆記——特殊的IO庫特性(一)

格式化輸入與輸出 除了條件狀態外,每個iostream對象還維護一個格式狀態來控制IO如何格式化的細節,比如控制整數的進制、浮點數的精度、輸出寬度等。 標準庫定義了一組操縱符來改變流的格式狀態,一個常用的操縱符:endl,一般將它“

原创 linux常用命令

1.tree  查看目錄內容;  tree後不跟內容,查看當前目錄;  tree dir 查看指定目錄。  需要安裝: sudo apt-get install tree 2.ls  功能:查看文件和目錄。  參數: