1.編譯器使用異常丟擲表示式來對異常物件進行拷貝初始化,該表示式決定了異常物件的型別;進入catch語句後,通過異常物件初始化異常宣告中的引數。
2.throw;//重新丟擲語句,將當前異常物件沿著呼叫鏈向上傳遞。catch(...) 捕獲所有異常。
3.要想處理建構函式初始值丟擲的異常,必須將建構函式寫成函式try語句塊。
4.乙個noexcept函式丟擲了異常,程式會terminate;noexcept運算子用於表示給定的表示式是否會丟擲異常。
5.未命名空間中定義的變數擁有靜態宣告週期,僅在檔案內部有效,與命名空間所在作用域相同。
6.using指示一般被看作出現在最近的外層作用域中。
7.當我們給函式傳遞乙個類型別的物件時,函式名的查詢會包括實參類所屬的命名空間。
8.在虛派生中,虛基類是由最底層的派生類初始化的。
C Primer 筆記 命名空間
1.我們既可以用 using 宣告整個空間,也可以宣告部分名字。using namespace std using std cout 2.標頭檔案不應包含 using 宣告,因為標頭檔案會拷貝到所引用它的檔案中去,所以每個使用了該標頭檔案的檔案就都會有這個宣告。3.命名空間可以是不連續的。4.模板特...
《C Primer》讀書筆記 命名空間
我們在寫程式時會用到各種類和函式,這些名字難免會有衝突,尤其是大型專案,更避免不了重名的問題。所以,當有重名的時候,就引入了命名空間的概念。由於這種機制對於宣告於其中的名稱都進行了本地化,就使得相同的名稱可以在不同的上下文中使用,而不會引起名稱的衝突。命名空間就是乙個作用域,我們在使用這個作用域中的...
命名空間與異常處理
1 命名空間 命名空間是乙個邏輯上的型別組織系統,用來對程式中的型別進行邏輯上的分組,並使定義在同乙個命名空間中的類可以利用命名空間直接相互呼叫。c 有命名空間機制,關鍵字為 namespace。庫或程式中每個c 定義集被封在乙個命名空間中,若其他定義中有相同的名字,則由於在不同的命名空間不會產生命...