c 關鍵字 大集合

2021-10-02 11:04:33 字數 3597 閱讀 2457

本編文章主要是將作者在學習c++中遇到的關鍵字進行了總結,作者對比較陌生的關鍵字進行了解釋

alignas 設定類和struct的位元組對齊方式 預設取值為:0 1 2 4 6 8

alignof 區分sizeof(),alignof得到位元組對齊的位元組數

iso646標準支援的運算子:

asm 允許在c/c++的程式中直接插入彙編指令,並且可以插在任何位置

assert 執行時斷言,assert的作用是先計算表示式expression,如果其值為假(即為0),那麼它先向 stderr列印一條錯誤的資訊,然後通過呼叫abort來中止執行

auto

bool

break

case 和switch一起使用

catch 和try一起使用,表示異常

char 在linux平台下等價於 unsigned char 在window平台下等價於signed char

char16_t char32_t unicode編碼

class 類

concept

const 不變性

constexpr 是「常量表示式」,在編譯期可求值的表示式。最基礎的常量表示式就是字面值或全域性變數/函式的位址或sizeof等關鍵字。constexpr所修飾的變數一定是編譯期可求值的,所修飾的函式在所有引數是constexpr是,一定會返回constexpr。還可以修飾類的建構函式,但是,constexpr建構函式必須有乙個空的函式體,即所有成員變數的初始化都放到初始化函式列表中。

const_cast 用來修改型別的const或volatile,使用該運算方法可以返回乙個指向非常量的指標(或引用)指向b1,就可以通過該指標(或引用)對它的資料成員任意改變。

用法:const_cast(expression)

該運算子用來修改型別的const或volatile屬性。除了const 或volatile修飾之外, type_id和expression的型別是一樣的。

一、常量指標被轉化成非常量的指標,並且仍然指向原來的物件;

二、常量引用被轉換成非常量的引用,並且仍然指向原來的物件;

三、const_cast一般用於修改底指標。如const char *p形式。

continue

decltype

用法:返回值 decltype(表示式)

返回值的型別是表示式引數的型別

如果這個表示式是函式,decltype給出的型別為函式返回值的型別

如果表示式是乙個左值型別,那麼decltype給出的型別為表示式左值引用型別

decltype不會執行表示式而auto會執行表示式

跟蹤返回型別

函式的返回值型別一般是放在函式名的前面,但是c++11可以將函式的返回值型別放在函式宣告的後面,同時需要auto替代返回型別

eg:template

auto multiply(u u, v v) -> decltype(u*v)

default

delete

dodouble

dynamic_cast

將乙個基類物件指標(或引用)轉換到繼承類指標,dynamic_cast會根據基類指標是否真正指向繼承類指標來做相應處理

用法:dynamic_cast (expression)

該運算子把expression轉換成type_id型別的物件,type_id必須是類的指標、類的引用或者void*

如果 type-id 是類指標型別,那麼expression也必須是乙個指標,如果type-id 是乙個引用,那麼 expression 也必須是乙個引用。

else

enum

普通用法:

enum day ;

強列舉型別(使用enum class語法來宣告):

enum class enumeration;

另外列舉型別所使用的型別為預設為int型別,也可指定為其他型別:

enum class enumeration:short;

explicit 可以抑制內建型別的強制轉換,因此在類的建構函式中,應該盡可能地使用關鍵字explicit,防止不必要地隱式轉換

export

extern 用在變數或者函式的宣告前,用來說明「此變數/函式是在別處定義的,要在此處引用」

false

float

forfriend

goto

ifinline 放在函式定義的前面,使函式成為內聯函式,建議編譯器直接呼叫函式體來替代函式呼叫

intlong

mutable

namespace 命名空間

newnoexcept 告訴編譯器,函式中不會發生異常,如果在執行是,noexcept函式向外丟擲了異常(如果函式內部捕捉了異常並完成處理,這種情況不算是丟擲異常),程式會直接中止,呼叫std::terminate()函式,該函式內部會呼叫std::abort()中止程式

nullptr 空指標 在c++11中是乙個型別

operator 過載

private

protected

public

register 告訴編譯器將變數放到暫存器中

reinterpret_cast 強制型別轉換符

語法:reinterpret_cast (expression)

type-id必須是乙個指標、引用、算術型別、函式指標或者成員指標。它可以把乙個指標轉換成乙個整數,也可以把乙個整數轉換成指標。

用法:該操作符修改了運算元型別,但僅僅是重新解釋了給出的物件的位元模型而沒有進行二進位制轉換

requires

return

short

signed

sizeof 查詢物件或型別的大小

static static修飾普通變數函式

static放在類中進行修飾屬性和方法

static_assert 編譯期間實現斷言,是靜態斷言。不會生成目標**,不會造成任何的效能損失

語法:static_assert(常量表示式,要提示的字串);

如果第乙個引數常量的表示式是false,會產生一條編譯錯誤,錯誤的位置就是static_assert語句所在的行,第二個引數就是錯誤提示字串。然後通過呼叫abort()來中止執行

static_cast 功能是把乙個表示式轉換為某種型別,但是執行時型別檢查來保證轉化的安全性

語法:static_cast(expression)

把expression型別轉換為type_id型別

struct

switch

template

this

thread_local

throw 和try、catch一起用

true

trytypedef 起別名

typeid

typename

union

unsigned

using 在c++11中可以使用using來替代typedef

virtual 虛函式

void

volatile 作用就是防止編譯器對**進行優化

wchar_t 在windows程式設計下用的多

while

jQuery Select操作大集合

jquery獲取select選擇的text和value 語法解釋 select id change function 為select新增事件,當選擇其中一項時觸發 var checktext select id find option selected text 獲取select選擇的text va...

SQL基礎大集合

可以把 sql 分為兩個部分 資料操作語言 dml 和 資料定義語言 ddl sql 結構化查詢語言 是用於執行查詢的語法。但是 sql 語言也包含用於更新 插入和刪除記錄的語法。一定要記住,sql對大小寫不敏感!查詢和更新指令構成了 sql 的 dml 部分 1,select 從資料庫表中獲取資料...

FTP命令大集合

ftp的命令列格式為 ftp v d i n g 主機名 引數介紹 v 顯示遠端伺服器的所有響應資訊 d 使用除錯方式 n 限制ftp的自動登入,即不使用.netrc檔案 g 取消全域性檔名 ftp使用的內部命令如下 其中括號表示可選 1.cmd args 在本地機種執行互動shell exit回到...