1. 程式人生 > >術語表

術語表

構造函數 一個 表示 類模板 col 跟著 命名空間 字面值 spa

being 是string和vector的成員,返回指向第一個元素的叠代器。也是一個標準庫函數,輸入一個數據,返回指向該數組首元素的指針。

end是string和vector的成員,返回一個指向尾後叠代器。也是一個標準庫函數,輸入一個數據,返回指向該數組尾元素的下一個位置的指針。

緩沖區溢出(buffer overflow)一種嚴重的程序故障,主要的原因是試圖通過一個越界的索引訪問容器內容,容器類型包括string、vector和數組等。

C風格字符串(C-style string)以空字符結束的字符數組。字符串字面值是C風格字符串,C風格字符串容易出錯。

類模板(class template)

用於創建具體類類型的模板。要想使用類模板,必須提供關於類型的輔助信息。例如,要定義一個vector對象需要指定元素的類型:vector<int>包含int類型的元素。

編譯器擴展(compiler extension)某個特定的編譯器為C++語言額外增加的特性。基於編譯器擴展編寫的程序不易移植到其他編譯器上。

容器(container)是一種類型,其對象容納了一組給定類型的對象。vector是一種容器類型。常見的還有list、map。

拷貝初始化(copy initialization)使用賦值號(=)的初始化形式。新創建的對象是初始值的一個副本。

difference_type 由string和vector定義的一種帶符號整數類型,表示兩個叠代器之間的距離。

直接初始化(direct initialization)不使用賦值號(=)的初始化形式。

empty是string和vector成員,返回一個布爾值。當對象的大小為0時返回真,否則返回假。

getline在string頭文件中定義的一個函數,以一個istream對象和一個string對象為輸入參數。該函數首先讀取輸入流的內容直到遇到換行符停止,然後將詩篇的數據存入string對象,最後返回istream對象。其中換行符讀入但是不保留。

索引(index)是下標運算符使用的值。表示要在string對象、vector對象或者數組中訪問的一個位置。

實例化(instantiation)編譯器生成一個指定的模板類或函數的過程。

叠代器(iterator)是一種類型,用於訪問容器中的元素或者在元素之間移動。

叠代器運算(iterator arithmetic)是string和vector的叠代器的運算:叠代器與整數相加或相減得到一個新的叠代器,與原來的叠代器相比,新叠代器向前或向後移動了若幹位置。兩個叠代器相減得到它們之間的距離,此時它們必須指向同一個容器的元素或該容器尾元素的下一個位置。

以空字符結束的字符串(null-terminated string)是一個字符串,它的最後一個字符後面還跟著一個空字符(‘\0’)。

尾後叠代器(off-the-end iterator)end函數返回的叠代器,指向一個並不存在的元素,該元素位於容器尾元素的下一個位置。

指針運算(pointer arithmetic)是指針類型支持的算術運算。指向數組的指針所支持的運算種類與叠代器運算一樣。

prtdiff_t是cstddef頭文件中定義的一種與機器實現有關的帶符號整數類型,它的空間足夠大,能夠表示數組中任意兩個指針之前的距離。

push_back是vector的成員,向vector對象的末尾添加元素。

範圍for語句(rang for)一種控制語句,可以在值的一個特定集合內叠代。

size是string和vector的成員,分別返回字符的數量或元素的數量。返回值的類型是size_type。

size_t是cstddef頭文件中定義的一種與機器實現有關的無符號整數類型,它的空間足夠大,能夠表示數組中任意數組的大小。

size_type是string和vector定義的一種類型的名,能存放下任意string對象或vector對象的大小。在標準庫中,size_type被定義為無符號類型。

using聲明(using declaration)令命名空間中的某個名字可被程序直接使用。

using 命名空間::名字;

上述語句的作用是令程序可以直接使用名字,而無須寫它的前綴部分命名空間::。

值初始化(value initialization)是一種初始化過程。內置類型初始化為0,類類型由類的默認構造函數初始化。只有當類包含默認構造函數時,該類的對象才會被值初始化。對於容器的初始化來說,如果只說明了容器的大小而沒有指定初始化值的話,就會執行值初始化。此時編譯器會生成一個值,而容器的元素被初始化為該值。

++運算符(++ operator)是由叠代器和指針定義的遞增運算符。執行“加1”操作使得叠代器指向下一個元素。

[]運算符([] operator)下標運算符。obj[i]得到容器對象obj中位置i的那個元素。索引從0開始,第一個元素的索引是0,尾元素的索引是obj.size()-1。下標運算符的返回值是一個對象。如果p是指針、n是整數,則p[n]與*(p+n)等價。

->運算符(-> operator)箭頭運算符,該運算符綜合了解引用操作和點操作。a->b等價於(*a).b。

<<運算符(<< operator)標準庫類型string定義的輸出運算符,負責輸出string對象中的字符。

>>運算符(>> operator)標準庫類型string定義的輸入運算符,負責讀入一組字符,遇到空白停止,讀入的內容賦給運算符右側的運算對象,該運算對象應該是一個string對象。

!運算符(! operator)邏輯非運算符,將它的運算對象的布爾值取反。如果運算對象是假,則結果為真;如果運算對象是真,則結果為假。

&&運算符(&& operator)邏輯與運算符,如果兩個運算對象對象都是真,結果為真。只有當左側運算對象為真時才會檢查右側運算對象。

||運算符(|| operator)邏輯或運算符,任何一個運算對象是真,結果為真。只有當左側運算對象為假時才會檢查右側運算對象。

術語表