1樓:
[code]auto :宣告自動變數 一般不使用double :宣告雙精度變數或函式
int: 宣告整型變數或函式
struct:宣告結構體變數或函式
break:跳出當前迴圈
else :條件語句否定分支(與 if 連用)long :宣告長整型變數或函式
switch :用於開關語句
case:開關語句分支
enum :宣告列舉型別 register:宣告積存器變數typedef:用以給資料型別取別名(當然還有其他作用)char :宣告字元型變數或函式
extern:宣告變數是在其他檔案正宣告(也可以看做是引用變數)return :子程式返回語句(可以帶引數,也看不帶引數)union:
宣告聯合資料型別 const :宣告只讀變數float:宣告浮點型變數或函式
short :宣告短整型變數或函式
unsigned:宣告無符號型別變數或函式continue:結束當前迴圈,開始下一輪迴圈for:一種迴圈語句(可意會不可言傳)
signed:生命有符號型別變數或函式
void :宣告函式無返回值或無引數,宣告無型別指標(基本上就這三個作用)
default:開關語句中的「其他」分支
goto:無條件跳轉語句
sizeof:計算資料型別長度
volatile:說明變數在程式執行中可被隱含地改變do :迴圈語句的迴圈體
while :迴圈語句的迴圈條件
static :宣告靜態變數 if:條件語句
2樓:匿名使用者
關鍵字是ide(整合開發環境)或語言留用的一些單字,你不能使用它來定義你的變數或函式名,所以叫關鍵字,你不能使用它,就這麼簡單
3樓:匿名使用者
多用用就記得了,語言不是這麼學的!
c++語言中,new表示什麼的關鍵字?
4樓:花花
「new」是c++的一個關鍵字,同時也是操作符關於new的話題非常多,因為它確實比較複雜,也非常神祕,下面我將把我瞭解到的與new有關的內容做一個總結。
new的過程
當我們使用關鍵字new在堆上動態建立一個物件時,它實際上做了三件事:獲得一塊記憶體空間、呼叫建構函式、返回正確的指標當然,如果我們建立的是簡單型別的變數,那麼第二步會被省略假如我們定義瞭如下一個類a:
class a
void say()
};//呼叫new:
a* pa = new a(3);
那麼上述動態建立一個物件的過程大致相當於以下三句話(只是大致上):
a* pa = (a*)malloc(sizeof(a));
pa->a::a(3);
return pa;
雖然從效果上看,這三句話也得到了一個有效的指向堆上的a物件的指標pa,但區別在於,當malloc失敗時,它不會呼叫分配記憶體失敗處理程式new_handler,而使用new的話會的因此我們還是要儘可能的使用new,除非有一些特殊的需求
new的三種形態
到目前為止,本文所提到的new都是指的「new operator」或稱為「new expression」,但事實上在c++中一提到new,至少可能代表以下三種含義:new operator、operator new、placement new
c++語言中,new表示什麼的關鍵字?
c++程式中的關鍵字是什麼意思?
5樓:羊聽雲袁鶯
關鍵字是c++語言裡事先定義的,有特別意義的識別符號
,有時又叫保留字。
在命名變數的時候不能用這些關鍵字
c++中explicit關鍵字是什麼意思?
6樓:倒黴熊
關鍵字explicit可以禁止bai「單引數構造du函式」被用於自動類zhi型dao轉換
class stack
;沒有explicit的話
內stack s = 40;能編譯通過
而有explicit則不能,必需
容stack s(40);
c++中的virtual關鍵字是什麼?怎麼用?
7樓:墨陌沫默漠末
virtual是定義c++中虛擬函式的關鍵字 。
在使用virtual之前,c++對成員函式使用靜態聯編,而使用virtual,並且在呼叫函式時是通過指標或引用呼叫,c++則對成員函式進行動態聯編。
用法:class base
public:
virtual void print()
}; class derived:public base
public:
void print()
}; int main()
output:
derived
c++11 關鍵字共73個。
新增關鍵字:alignas、alignof、char16_t、char32_t、constexpr、decltype、noexcept、nullptr、static_assert、thread_local。
export 因為實現支援太少(僅edison design group的前端支援),編譯效率低下,取消原有意義(仍是關鍵字,但使用它的程式是錯誤的),改為保留給未來標準使用。
1、alignas
alignof用於獲取取指定表示式指定的(類似sizeof,可以直接是型別名)的對齊(alignment)。alignas用於宣告時指定對齊類似於現有的型別。和sizeof類似,兩者的運算元都不被求值。
2、constexpr
類似const但更強大,修飾函式或物件,表示函式結果或物件是編譯時決定的常量,以便優化。(const不能修飾一般的函式,也不一定指定宣告的物件能編譯期的常量表示式,更可能只是只讀物件。而在c語言中,const完全只能指定只讀物件。
)3、char16_t 和 char32_t
二者分別表示16位字元型和32位字元型,類似char和wchar_t,也是一般只專用於表示字元的整數型別,且設計上用於表示unicode字元。char16_t和char32_t是c++11新增的,以克服wchar_t在不同平臺上無法保證確定寬度的缺點。
8樓:機智的煎餅
c++中的virtual關鍵字是定義c++中虛擬函式的關鍵字 。
在使用virtual之前,c++對成員函式使用靜態聯編,而使用virtual,並且在呼叫函式時是通過指標或引用呼叫,c++則對成員函式進行動態聯編。
virtual的作用:
(1)以父類的引用作為函式的引數型別。
(2)呼叫該函式傳遞子類物件。
(3)在函式中可以通過該父類的引用呼叫到子類中重寫的虛擬函式。
c++語言工作原理
c++語言的程式因為要體現高效能,所以都是編譯型的。但其開發環境,為了方便測試,將除錯環境做成解釋型的。即開發過程中,以解釋型的逐條語句執行方式來進行除錯,以編譯型的脫離開發環境而啟動執行的方式來生成程式最終的執行**。
生成程式是指將原始碼(c++語句)轉換成一個可以執行的應用程式的過程。如果程式的編寫是正確的,那麼通常只需按一個功能鍵,即可搞定這個過程。該過程實際上分成兩個步驟。
第一步是對程式進行編譯,這需要用到編譯器(compiler)。編譯器將c++語句轉換成機器碼(也稱為目標碼);如果這個步驟成功,下一步就是對程式進行連結,這需要用到連結器(linker)。
連結器將編譯獲得機器碼與c++庫中的**進行合併。c++庫包含了執行某些常見任務的函式(「函式」是子程式的另一種稱呼)。
例如,一個c++庫中包含標準的平方根函式sqrt,所以不必親自計算平方根。c++庫中還包含一些子程式,它們把資料傳送到顯示器,並知道如何讀寫硬碟上的資料檔案。
9樓:染塵墨羽
是定義c++中虛擬函式的關鍵字。
class base
public:
virtual void print()
};class derived :public basepublic:
void print()
};void main()
10樓:大野瘦子
virtual是c++ oo機制中很重要的一個關鍵字,在類base中加了virtual關鍵字的函式就是虛擬函式。
關鍵字virtual的用法:
#include
using namespace std;
class a;
class b : public a;
void dodisplay(a *p)
int main(int argc,char* argv)
這段**列印出的結果為b,但是當把a類中的virtual去掉之後列印出的就為a。當基類中沒有virtual的時候,編譯器在編譯的時候把p看做a類的物件,呼叫的自然就是a類的方法。
但是加上virtual之後,將dispaly方法變成了虛方法,這樣呼叫的時候編譯器會看呼叫的究竟是誰的例項化物件,這樣就實現了多型的效果。
也就是說,當基類的派生類中有重寫過基類的虛方法的時候,使用基類的指標指向派生類的物件,呼叫這個方法實際上呼叫的會是派生類最後實現的方法。
11樓:123飯後娛樂
virtual意為虛擬,在c++中用到關鍵字virtual的一共有兩個部分一個是虛繼承,一個是虛擬函式。
c++中的函式呼叫預設不適用動態繫結。要觸發動態繫結,必須滿足兩個條件:第一,指定為虛擬函式;第二,通過基類型別的引用或指標呼叫。
下面這些情況可用virtual關鍵字:
友元函式 建構函式 static靜態函式 不能用virtual關鍵字修飾;
普通成員函式 和解構函式 可以用virtual關鍵字修飾;
擴充套件資料:
vitual關鍵字用途:
vitual基類
在多重繼承中,從派生類到基類存在多條路線時(多個繼承脈絡或者途徑),一個這種派生類的物件例項化將包含多個基類物件,浪費資源且呼叫混亂的現象出現。
因此引入了vitual baseclass,來在執行階段克服多個基類物件的產生。這個vitual是在執行階段保證物件唯一性的。
vitual函式
虛擬函式的出現,是由於基類的指標可以執行派生類,因此引出了不便,如
class deriv:public class base
當deriv d;
base* b;
b=&d;
b->show();
這裡的show應該呼叫誰的呢?我們的意思肯定是呼叫d的,但是編譯器處理的話b和base類是繫結在一起的,他實際上是會呼叫b的show函式。
因此,我們引入vitual函式,來告訴編譯器,出現這種情況時,在執行時動態連結進行處理。
3.vitual在純虛擬函式中使用
純虛擬函式完全是為了繼承體系的完整,也是整合vitual函式的作用而產生的。代表了編譯器階段物件的繫結,將呼叫選擇轉移到執行時動態繫結。
綜上:vitual關鍵的引入,可以理解為阻止編譯階段的靜態繫結,將繫結(虛擬函式)和約束工作(虛基類)轉移到執行時動態處理。
求c語言中的關鍵字及其意思,求C語言中的32個關鍵字及其意思?
啤酒哥資料 關鍵字如下 一 資料型別關鍵字 12個 1 char 宣告字元型變數或函式 2 double 宣告雙精度變數或函式 3 enum 宣告列舉型別 4 float 宣告浮點型變數或函式 5 int 宣告整型變數或函式 6 long 宣告長整型變數或函式 7 short 宣告短整型變數或函式 ...
c語言中volatile關鍵字是什麼含義怎麼辦呢
影者東昇 c c 中的 volatile 關鍵字和 const 對應,用來修飾變數,通常用於建立語言級別的 memory barrier。volatile 關鍵字是一種型別修飾符,用它宣告的型別變數表示可以被某些編譯器未知的因素更改,比如 作業系統 硬體或者其它執行緒等。遇到這個關鍵字宣告的變數,編...
計算機c語言中的關鍵字 do是什麼意思
用於c語言的後判斷迴圈當中與while連用 主要用於c語言的後判斷迴圈當中與while連用 例如 dowhile 判斷條件 迴圈語句,for迴圈 for 初始變數 迴圈條件 計數器 初始變數為for迴圈提供迴圈控制變數的初始值,然後判斷迴圈條件是否滿足。滿足執行迴圈語句,計數,並繼續判斷迴圈條件 不...