C++中出現的計算機術語5

 class template(類模板)

可以用來定義一組特定類型的類的類定義。類模板用template 關鍵字後接用尖括號(<>)括住、以逗號分隔的一個或多個形參的列表來定義。

export keyword(導出關鍵字)

用來指出編譯器必須記住相關模板定義位置的關鍵字,支持模板實例化的分別編譯模型的編譯器使用它。export關鍵字一般與函數定義一起出現,類通常在相關類實現文件中聲明爲export。在一個程序中,一個模板只能用export 關鍵字定義一次。

function template(函數模板)

可用於不同類型的函數的定義。函數模板用template 關鍵字後接用尖括號(<>)括住、以逗號分隔的一個或多個形參的列表來定義。

generic handle class(泛型句柄類)

保存和管理指向其他類的指針的類。泛型句柄接受單個類型形參,並且分配和管理指向該類型對象的指針。句柄類定義了必要的複製控制成員,它還定義瞭解引用操作符(*)和箭頭成員訪問操作符(->)。泛型句不需要了解它管理的類型。

inclusion compilationmodel(包含編譯模型)

編譯器用來尋找模板定義的機制,它依賴於模板定義被包含在每個使用模板的文件中。一般而言,模板定義存儲在一個頭文件中,使用模板的任意文件必須包含該文件。

instantiation(實例化)

用實際模板實參產生模板特定實例的編譯器過程,在該實例中,用對應實參代替形參。函數基於調用中使用的實參自動實例化,使用類模板時必須顯式提供模板實參。

abort

異常終止程序執行的庫函數。通常,由terminate 調用abort,程序也可以直接調用abort。abort定義在頭文件cstdlib 中。

auto_ptr

一個庫類模板,提供對動態分配對象的異常安全的訪問。不能將auto_ptr 對象綁定到數組或者變量指針,auto_ptr對象的複製和賦值是破壞性操作:將對象的所有權從右操作數轉到左操作數。對auto_ptr 對象進行賦值刪除左操作數中的對象,因此,不能將auto_ptrs 對象存儲在容器中。

catch-all(捕獲所有異常子句)

異常說明符爲(...)的 catch 子句。這種子句能夠捕獲任意類型的異常,它通常用於捕獲爲進行局部清除而局部檢測的異常。異常被重新拋出給程序的其他部分,以處理問題的基本原因。

catch clause(catch 子句) 

程序中處理異常的部分,也稱異常處理代碼。catch子句由關鍵字catch 後接異常說明符和語句塊構成。catch內部的代碼完成的必要工作來處理由異常說明符定義的類型的異常。

constructor order(構造函數次序)

一般而言,應該按照類派生列表中指定的次序構造基類,派生類構造函數應該通過構造函數初始化列表顯式初始化每個基類。構造函數初始化列表中指定基類的次序不影響構造基類的次序。在虛繼承中,虛基類在任何其他基類之前構造,它們按照在派生類型的派生列表中(直接或間接地)出現在次序進行構造,只有最低層派生類型可以初始化虛基類,中間基類中出現的基類構造函數初始化列表被忽略。

destructor order(析構函數次序)

應該按照構造次序的逆序撤銷派生類對象——首先撤銷派生部分,然後,從最後一個基類開始,撤銷類派生列表中指定的類。在多重繼承層次中作爲基類的類通常應該將它們的析構函數數定義爲虛函數。

exception handler(異常處理代碼)

catch 子句的另一個名稱。

exception handling(異常處理)

管理運行時異常的語言級支持。代碼中一個獨立開發的部分可以檢測並“引發”異常,由程序中另一個獨立開發的部分“處理”該異常。也就是說,程序的錯誤檢測部分拋出異常,錯誤處理部分在try 塊的catch 子句中處理異常。

exception object(異常對象)

用於在異常的throw 和catch 方之間進行通信的對象。在拋出點創建該對象,該對象是被拋出表達式的副本。異常對象一直存在,直到該異常最後一個處理代碼結束。異常對象的類型是被拋出表達式的類型。

exception safe(異常安全的)

用於描述在拋出異常時表現正確的程序的術語。

exceptionspecification(異常說明)

用於函數聲明之上,指出函數拋出什麼(如果有)異常類型。在用圓括號括住、以逗號分隔、跟在關鍵字throw 之後的列表中指定異常類型。空列表表示函數不拋出異常,沒有異常說明的函數可以拋出任何異常。 

exception specifier(異常說明符)

說明給定catch 子句將處理的異常的炻。異常說明符的行爲形參表,由異常對象初始化它的單個形參。像參數傳遞一樣,如果異常說明符是非引用類型,就將異常對象複製到catch 中。

file static(文件靜態)

用關鍵字static 聲明的局部於文件的名字。在C 語言和標準版本之前的C++ 中,文件中的靜態聲明用於聲明只能在單個文件中使用的對象,C++不贊成文件靜態,已經用未命名的命名空間代替它。

function try block(函數測試塊)

是函數體的try 塊。關鍵字try 出現在函數體的左花括號之前,以出現在函數體的右花括號之後的catch 子句作爲結束。函數測試塊最經常用於包圍構造函數定義,以便捕獲由構造函數初始化式拋出的異常。

global namespace(全局命名空間)

每個程序中保存所有全局定義的(隱式)命名空間。

multiple inheritance(多重繼承)

類有多個直接基類的繼承。派生類繼承所有基類的成員,通過在類派生列表中指定多個基類而定義多個基類,每個基類需要一個單獨的訪問標號。

namespace(命名空間)

將一個庫或其他程序集合定義的所有名字聚焦到單個作用域的機制。與 C++ 中其他作用域不同,命名空間作用域可以在幾個部分中定義,在程序的不同部分,命名空間可以是打開的、關閉的和重新打開的。

namespace alias(命名空間別名)

爲給定命名空間定義同義詞的機制。

namespace N1 = N;

將N1 定義爲名爲N 的命名空間的另一名字。一個命名空間可以有多個別名,並且命名空間名字和它的別名可以互換使用。

namespace pollution(命名空間污染) 

用來描述類和函數的所有名字放在全局命名空間時發生什麼情況的術語。如果名字是全局的,則使用由多個獨立團隊編寫的代碼的大程序經常遇到名字衝突。

raise(引發)

經常用作拋出的同義詞。C++程序員互換地使用“拋出”異常或“引發”異常。

rethrow(重新拋出)

一個空的throw——沒有指定throw。只有捕獲子句或者從catch 直接或間接調用的函數中的重新拋出纔有效,其效果是將接到的異常對象重新拋出。

scope operator(作用域操作符)

用於訪問命名空間或類中名字的操作符。

stack unwinding(棧展開)

用於描述在查找catch 時退出引起被拋出異常的函數的過程。在進入相應catch 之前,撤銷在異常之前構造的局部對象。

terminate

一個庫函數。如果沒有捕獲到異常或者在異常處理過程中發生異常,就調用這個庫函數。該函數通常調用abort 函數來結束程序。

throw e

中斷當前執行路徑的表達式。每個throw 將控制轉到可以處理被拋出異常類型的最近的外圍 catch 子句,表達式e 被複制到異常對象。

try block(測試塊)

由關鍵字try 以及一個或多個try 子句包圍的語句塊。如果try 塊內部的代碼引發一個異常,而一個catch 子句與異常的類型匹配,則由該 catch 處理異常;否則,將異常傳出try 之外,傳給調用鏈中更上層的 catch。

unexpected

一個庫函數,如果被拋出異常違反函數的異常說明,就調用該函數。

unnamed namespace(未命名的命名空間) 

沒有定義名字的命名空間。未命名的命名空間中定義的名字可以無須使用作用域操作符而直接訪問。每個文件都具有自己的未命名的命名空間,文件中的名字在該文件之外不可見。

using declaration(using 聲明)

將命名空間中單個名字注入當前作用域的機制。

using std::cout;

使得命名空間std 中的名字cout 在當前作用域中可見,可以無須限定符std:: 而使用名字cout。

using directive(using 指示)

使一個命名空間中的所有名字在using 指示和命名空間本身的最近作用域中可見的機制。

virtual base class(虛基類)

使用關鍵字virtual 繼承的基類。即使同一類在層次中作爲虛基類出現多次,派生類對象中的虛基類部分也只出現一次。在非虛繼承中,構造函數只能初始化自己的直接基類,當對一個類進行虛繼承的時候,由最低層的派生類初始化那個類,因此最低層的派生類應包含用於其所有虛父類的初始化式。

virtual inheritance(虛繼承)

多重繼承的形式,這種形式中,派生類共享在層次中被包含多次的基類的一個副本。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章