C++詞彙集錦程式設計人必備

Mobidogs發表於2020-04-04
 
C++詞彙
1. 保留字
  C++中,保留字也稱關鍵字,它是預先定義好的識別符號。見關鍵字的解釋。
2.關鍵字
  C++中已經被系統定義為特殊含義的一類識別符號。C++中的關鍵字有:
auto
double
int
struct
break
else
long
switch
case
enum
register
typedef
char
extern
return
union
const
float
short
unsigned
continue
for
signed
void
default
goto
sizeof
volatile
do
if
static
while
asm
_cs
_ds
_es
_ss
cdecl
far
huge
interrupt
near
pascal
class
public
private
catch
protected
delete
new
template
friend
this
inline
throw
try
operator
virtual
overload(現不用)
3.識別符號
  對變數、函式、標號和其它各種使用者自定義物件的命名。在C++中,識別符號長度沒有限制,第一個字元必須是字母或下劃線,其後若有字元則必須為字母、數字或下劃線。例如count2,_x是正確的識別符號形式,而hello!,3th則是錯誤的。在C++中識別符號區分大小寫,另外識別符號不能和C++中的關鍵字相同,也不能和函式同名。
4.宣告
  將一個識別符號引入一個作用域,此識別符號必須指明型別,如果同時指定了它所代表的實體,則宣告也是定義。
5.定義
  給所宣告的識別符號指定所代表的實體。
6.變數
  某個作用域範圍內的命名物件。
7.常量
  常量是不接受程式修改的固定值,可以是任意資料型別。可以用字尾準確的描述所期望的常量型別,如浮點型別常量在數字後加F,無符號整型常量加字尾U等等。此外還有串常量如"Please input year:",反斜線字元常量如/n表示回車符。
8. const說明符
  const是在變數宣告或函式宣告時所用到的一個修飾符,用它所修飾的實體具有隻讀屬性。
9. 輸入
  當程式需要執行鍵盤輸入時,可以使用抽取操作付">>"從cin輸入流中抽取字元。如:
  int myAge;
  cin >> myAge;
10.輸出
  當程式需要在螢幕上顯示輸出時,可以使用插入操作符"<<"向cout 輸出流中插入字元。如:
  cout << "This is a program. /n ";
11.流
  流是既產生資訊又消費資訊的邏輯裝置,通過C++系統和物理裝置關聯。C++的I/O系統是通過流操作的。有兩種型別的流:文字流,二進位制流。
12.標準輸入輸出庫
  它是C++標準庫的組成部分,為C++語言提供了輸入輸出的能力。
13.內建資料型別
  由C++直接提供的型別,包括int、float、double、char 、bool、指標、陣列和引用。
14.字元型別
  包括 char、signed char、unsigned char三種型別。
15.整數型別
  包括 short、 int、long 三種型別。
16.long
  只能修飾 int , double.
  long int 指一種整數型別,它的長度大於等於int型.
  long double 指長雙精度型別,長度大於等於double型。
17.short
  一種長度少於或等於int型的整數型別。
18.signed
  由它所修飾的型別是帶符號的. 只能修飾 int 和 char .
19.布林型
  一種資料型別,其值可為:true, false 兩種。
20.浮點型別
  包括float, double , long double 三種型別。其典型特徵表現為有尾數或指數。
21.雙精度型別
  浮點型別中的一種。在基本資料型別中它是精度最高,表示範圍最大的一種資料型別。
22.void型別
  關鍵字之一,指示沒有返回資訊。
23.結構型別
  類的一種,其成員預設為public型。大多用作無成員函式的資料結構。
24.列舉型別
  一種使用者自定義型別,由使用者定義的值的集合組成。
25.型別轉換
  一種資料型別轉換為另一種,包括顯式,隱式兩種方式。
26.指標
  一個儲存地址或0的物件。
27. 函式指標
  每個函式都有地址,指向函式地址的指標稱為函式指標,函式指標指向程式碼區中的某個函式,通過函式指標可以呼叫相應的函式。其定義形式為:
  int ( * func ) ( char a, char b);
28.引用
  為一個物件或函式提供的另一個名字。
29.連結串列
  一種資料結構,由一個個有序的結點組成,每個結點都是相同型別的結構,每個結點都有一個指標成員指向下一個結點。
30.陣列
  陣列是一個由若干同型別變數組成的集合。
31.字串
  標準庫中的一種資料型別,一些常用操作符如+=,==支援其操作。
32.運算子
  內建的操作常用符號,例如+,* ,& 等。
33.單目運算子
  只能對一個運算元進行操作
34.雙目運算子
  可對兩個運算元進行操作
35.三目運算子
  可對三個運算元進行操作
36.算術運算子
  執行算術操作的運算子,包括:+,-,*,/,%。
37.條件運算子
  即"?: " 。
  其語法為:
  (條件表示式)?(條件為真時的表示式):(條件為假時的表示式)
  如:x = a < b ? a : b;
  相當於:
  if ( a < b)
  x = a;
  else
  x = b;
38.賦值運算子
  即:" = "及其擴充套件賦值運算子
39.左值
  能出現在賦值表示式左邊的表示式。
40.右值
  能出現在賦值表示式右邊的表示式。
41.運算子的結合性
  指表示式中出現同等優先順序的操作符時該先做哪個的規定。
42.位運算子
  " & "," | " , " ^ "," >> "," << "
43.逗號運算子
  即" , "
44.邏輯運算子
  " && ", " || " ," ! "
45.關係運算子
  ">",">=","<=","< "," <= ","== "
46.new運算子
  物件建立的操作符。
47.delete運算子
  物件釋放操作符,觸發解構函式。
48.記憶體洩露
  操作堆記憶體時,如果分配了記憶體,就有責任回收它,否則這塊記憶體就無法重新使用,稱為記憶體洩漏。
49.sizeof運算子
  獲得物件在記憶體中的長度,以位元組為單位。
50.表示式
  由操作符和識別符號組合而成,產生一個新的值。
51.算術表示式
  用算術運算子和括號將運算物件(也稱運算元)連線起來,符合C++語法規則的式子。
52.關係表示式
  用關係運算子和括號將運算物件(也稱運算元)連線起來,符合C++語法規則的式子。
53.邏輯表示式
  用邏輯運算子和括號將運算物件(也稱運算元)連線起來,符合C++語法規則的式子。
54.賦值表示式
  由賦值運算子將一個變數和一個表示式連線起來,符合C++語法規則的式子。
55.逗號表示式
  由逗號操作符將幾個表示式連線起來,符合C++語法規則的式子。
56.條件表示式
  由條件運算子將運算物件連線起來,符合C++語法規則的式子。
57.語句
  在函式中控制程式流程執行的基本單位,如if語句,while語句,switch語句, do語句, 表示式語句等。
58.複合語句
  封閉於大括號{}內的語句序列。
59.迴圈語句
  for 語句, while 語句, do 語句三種。
60.條件語句
  基於某一條件在兩個選項中選擇其一的語句稱為條件語句。
61.成員函式
  在類中說明的函式稱為成員函式。
62.全域性函式
  定義在所有類之外的函式。
63.main函式
  由系統自動呼叫開始執行C++程式的第一個函式
64.外部函式
  在定義函式時,如果冠以關鍵字extern,表示此函式是外部函式。
65.行內函數
  在函式前加上關鍵字inline說明了一個行內函數,這使一個函式在程式行裡進行程式碼擴充套件而不被呼叫。這樣的好處是減少了函式呼叫的開銷,產生較快的執行速度。但是由於重複編碼會產生較長程式碼,所以行內函數通常都非常小。如果一個函式在類說明中定義,則將自動轉換成行內函數而無需用inline說明。
66.函式過載
  在同一作用域範圍內,相同的函式名通過不同的引數型別或引數個數可以定義幾個函式,編譯時編譯器能夠識別實參的個數和型別來決定該呼叫哪個具體函式。需要注意的是,如果兩個函式僅僅返回型別不同,則編譯時將會出錯,因為返回型別不足以提供足夠的資訊以使編譯程式判斷該使用哪個函式。所以函式過載時必須是引數型別或者數量不同。
67.函式覆蓋
  對基類中的虛擬函式,派生類以相同的函式名及引數重新實現之。
68.函式宣告
  在C++中,函式宣告就是函式原型,它是一條程式語句,即它必須以分號結束。它有函式返回型別,函式名和引數構成,形式為:
  返回型別 function (參數列);
參數列包含所有引數的資料型別,引數之間用逗號分開。如下函式宣告都是合法的。
  int Area(int length , int width ) ;
或 int Area ( int , int ) ;
69.函式定義
  函式定義與函式宣告相對應,指函式的具體實現,即包括函式體。如:
  int Area( int length , int width )
  {
   // other program statement
  }
70.函式呼叫
  指定被呼叫函式的名字和呼叫函式所需的資訊(引數)。
71.函式名
  與函式體相對,函式呼叫時引用之
72.函式型別
  (1) 獲取函式並返回值。
  (2) 獲取函式但不返回值。
  (3) 沒有獲取引數但返回值。
  (4) 沒有獲取引數也不返回值。
73.形式引數
  函式中需要使用變元時,將在函式定義時說明需要接受的變元,這些變元稱為形式引數。形式引數對應於函式定義時的引數說明。其使用與區域性變數類似。
74.實際引數
  當需要呼叫函式時,對應該函式需要的變元所給出的資料稱為實際引數。
75.值傳遞
  函式呼叫時形參僅得到實參的值,呼叫結果不會改變實參的值。
76.引用傳遞
  函式呼叫時形參為實參的引用,呼叫結果會改變實參的值。
77.遞迴
  函式的自我呼叫稱為遞迴。每次呼叫是應該有不同的引數,這樣遞迴才能終止。
78.函式體
  與函式名相對,指函式最外邊由{}括起來的部分。
79.作用域
  指識別符號在程式中有效的範圍,與宣告位置有關,作用域開始於識別符號的生命處。分:區域性作用域,函式作用域,函式原型作用域,檔案作用域,類作用域。
80.區域性作用域
  當識別符號的宣告出現在由一對花括號所括起來的一段程式內時,該標示符的作用域從宣告點開始到塊結束處為止,此作用域的範圍具有區域性性。
81.全域性作用域
  識別符號的宣告出現在函式,類之外,具有全域性性。
82.類作用域
  指類定義和相應的成員函式定義範圍。
83.全域性變數
  定義在任何函式之外,可以被任一模組使用,在整個程式執行期間保持有效。當幾個函式要共享同一資料時全域性變數將十分有效,但是使用全域性變數是有一定弊端的:全域性變數將在整個程式執行期間佔有執行空間,即使它只在少數時間被用到;大量使用全域性變數將導致程式混亂,特別是在程式較複雜時可能引起錯誤。
84.區域性變數
  定義在函式內部的變數。區域性變數只在定義它的模組內部起作用,當該段程式碼結束,這個變數就不存在了。也就是說一個區域性變數的生命期就是它所在的程式碼塊的執行期,而當這段程式碼再次被執行時該區域性變數將重新被初始化而不會保持上一次的值。需要注意的是,如果主程式和它的一個函式有重名的變數,當函式被呼叫時這個變數名只代表當前函式中的變數,而不會影響主程式中的同名變數。
85.自動變數
  由auto修飾,動態分配儲存空間,儲存在動態儲存區中,對他們分配和釋放儲存空間的工作是由編譯系統自動處理的。
86.暫存器變數
  儲存在運算器中的暫存器裡的變數,可提高執行效率。
87.靜態變數
  由聯結器分配在靜態記憶體中的變數。
88.類
  一種使用者自定義型別,有成員資料,成員函式,成員常量,成員型別組成。類是描敘C++概念的三個基本機制之一。
89.外部變數
  由extern修飾的變數
90.堆
  即自由儲存區,new 和delete 都是在這裡分配和釋放記憶體塊。
91.棧
  有兩個含義:(1)指記憶體中為函式維護區域性變數的區域。(2)指先進後處的序列。
92.抽象類
  至少包含一個純虛擬函式的類。抽象類不能建立物件,但可以建立指向抽象類的指標,多型機制將根據基類指標選擇相應的虛擬函式。
93.巢狀類
  在一個類裡可以定義另一個類,被嵌入類只在定義它的類的作用域裡有效。
94.區域性類
  在函式中定義的類。注意在函式外這個區域性類是不可知的。由於區域性類的說明有很多限制,所以並不常見。
95.基類
  被繼承的類稱為基類,又稱父類、超類或範化類。它是一些共有特性的集合,可以有其它類繼承它,這些類只增加它們獨有的特性。
96.派生類
  繼承的類稱為派生類。派生類可以用來作為另一個派生類的基類,實現多重繼承。一個派生類也可以有兩個或兩個以上的基類。定義時在類名後加":被繼承類名"即可。
97.父類
  即基類。見95基類的解釋。
98.子類
  即派生類。見96派生類的解釋。
99.物件
  有兩重含義:
  1. 記憶體中含有某種資料型別值的鄰近的區域。
  2. 某種資料型別的命名的或未命名的變數。一個擁有建構函式的型別物件在建構函式完成構造之前不能認為是一個物件,在解構函式完成析構以後也不再認為它是一個物件。
100. 資料成員
  指類中儲存資料的變數。
101.例項化
  即建立類的一個物件。
102.建構函式
  是一個類的例項的初始化函式,將在生成類的例項時被自動呼叫,用於完成預先的初始化工作。一個類可以有幾個建構函式,以不同的引數來區別,即建構函式可以被過載,以便不同的情況下產生不同的初始化;也可以沒有建構函式,此時系統將呼叫預設的空建構函式。需要注意的是建構函式沒有返回型別。
103.成員初始化表
  成員初始化表可用於初始化類中的任何資料成員,放在建構函式頭與建構函式體之間,用":"與建構函式頭分開,被初始化的資料成員的值出現在一對括弧之間,它們之間用逗號分開。
104.解構函式
  是一個類的例項的回收函式,將在該例項結束使用前被自動呼叫,用於完成資源的釋放。一個類只可以有一個解構函式,當解構函式執行後,該例項將不復存在。解構函式同樣沒有返回值。
105.虛解構函式
  由virtual 修飾的解構函式,當用基類指標釋放派生類物件時可根據它所指向的派生類物件釋放準確的物件。
106.繼承
  物件導向的程式設計語言的特點之一。即一個物件獲得另一個物件的特性的過程。如將公共屬性和服務放到基類中,而它的各派生類除了有各自的特有屬性和服務外還可以共享基類的公共屬性和服務。這樣的好處是容易建立體系,增強程式碼重複性。
107.單繼承
  一個派生類只有一個基類,成為單繼承。
108.重繼承
  一個派生類擁有多個基類,成為多繼承。
109.虛擬函式
  在基類中說明為virtual並在派生類中重定義的函式。重定義將忽略基類中的函式定義,指明瞭函式執行的實際操作。當一個基類指標指向包含虛擬函式的派生物件時,C++將根據指標指向的物件型別來決定呼叫哪一個函式,實現了執行時的多型性。這裡的重定義類似於函式過載,不同的是重定義的虛擬函式的原型必須和基類中指定的函式原型完全匹配。建構函式不能是虛擬函式,而解構函式則可以是。
110.純虛擬函式
  在基類中只有宣告沒有實現的虛擬函式。形式為:
  virtual type funname(paralist)=0。這時基函式只提供派生類使用的介面,任何類要使用必須給出自己的定義。
111.多型性
  給不同型別的實體提供單一介面。虛擬函式通過基類介面實現動態多型性,過載函式和模板提供了靜態多型性。
112.複製建構函式
  以自身類物件為引數的建構函式,如Z::Z(const Z&). 用在同類物件間進行初始化。
113.運算子過載
  C++中可以過載雙目(如+,×等)和單目(如++)操作符,這樣可以使使用者像使用基本資料型別那樣對自定義型別(類)的變數進行操作,增強了程式的可讀性。當一個運算子被過載後,它將具有和某個類相關的含義,同時仍將保持原有含義。
114.靜態成員函式
  成員函式通過前面加static說明為靜態的,但是靜態成員函式只能存取類的其他靜態成員,而且沒有this指標。靜態成員函式可以用來在建立物件前預初始化專有的靜態資料。
115.靜態成員變數
  在成員變數之前加static關鍵字將使該變數稱為靜態成員變數,該類所有的物件將共享這個變數的同一拷貝。當物件建立時,所有靜態變數只能被初始化為0。使用靜態成員變數可以取代全域性變數,因為全域性變數是違背物件導向的程式設計的封裝性的。
116.私有成員
  只能由自身類訪問的成員。
117.保護成員
  只能由自身類及其派生類訪問的成員。
118.友元
  被某類明確授權可訪問其成員的函式和類。
119.友元函式
  在函式前加上關鍵字friend即說明了一個友元函式,友元函式可以存取類的所有私有和保護成員。友元在過載運算子時有時是很有用的。
120.友元類
  被某類明確授權可訪問其成員的類
121.例外處理
  報告區域性無法處理某錯誤的基本方式。由try., throw , catch組成。
122.檔案
  是用於從磁碟檔案到終端或印表機的任何東西。流通過完成開啟操作與某檔案建立聯絡。
 

相關文章