1. 程式人生 > >Effective C++:0 Introduction

Effective C++:0 Introduction

Terminology

1. 所謂declaration,是告訴編譯器某個東西的名稱和型別,但略去細節。definition的任務是提供給編譯器一些宣告式所遺漏的細節。 2. 所謂default建構函式是一個可被呼叫而不帶任何實參者,要麼就是沒有引數,要麼就是所有引數都有預設值。 3. 將類的建構函式宣告為explicit,可以阻止他們被用來執行implicit type conversions,但他們仍可被用來進行explicit type conversions。 3. copy建構函式被用來“以同型物件初始化自我物件”,copy assignment操作符被用來“從另一個同型物件中拷貝其值到自我物件”。如果一個新物件被定義,一定會有個建構函式被呼叫,而不可能呼叫賦值操作符;如果沒有新物件被定義,就不會有建構函式被呼叫,當然被呼叫的就是賦值操作符。
4. 在C++中,當我們使用術語“介面”時,一般談的是函式的signature、class的可訪問成員或針對某template型引數需為有效的一個表示式。

Naming Conversions

1. 某些隱藏於名稱背後的含義可能不是那麼顯而易見。例如通常使用lhs和rhs作為二元操作符函式的兩個引數,對於成員函式,左側實參由this指標表現出來,所以單獨使用引數名rhs。 2. 通常將“指向T型別物件”的指標命名為pt,並將“T型別物件”的引用命名為rt。

Threading Consideration

1. TR1是一份規範,描述加入C++標準程式庫的諸多新機能。 2. Boost是個組織,亦是一個網站,提供可移植、同僚複審、原始碼開放的C++程式庫。大多數TR1機能是以Boost的工作為基礎。