c 基礎語法部分

2022-06-13 09:54:11 字數 2477 閱讀 9794

c++ **轉換為c語言**簡要:

注意事項:

c++中this關鍵字是乙個指向物件自己的乙個常量指標,不能給this賦值;

只有成員函式才有this指標,友元函式不是類的成員函式,沒有this指標;

同樣靜態函式也是沒有this指標的,靜態函式如同靜態變數一樣,不屬於具體的哪乙個物件;

this指標作用域在類成員函式內部,在類外也無法獲取;

this指標並不是物件的一部分,this指標所佔的記憶體大小是不會反應在sizeof操作符上的。

語法格式:

auto varname = value;  //auto的語法格式

decltype(exp) varname [= value]; //decltype的語法格式

其中,varname 表示變數名,value 表示賦給變數的值,exp 表示乙個表示式,方括號[ ]表示可有可無。

區別:auto 和 decltype 都會自動推導出變數 varname 的型別:

2.3.1.1 shared_ptr 建立

詳見**:[shared_ptr]shared_ptr(

2.3.1.2 shard_ptr 功能shared_ptr、unique_ptr、weaked_ptr詳解

左值引用: 使用 "&" 表示

int &b = num;
右值引用:用 "&&" 表示

int && a = 10;
move 語義:

內部實現:

// function template move

template _nodiscard constexpr remove_reference_t<_ty>&& move(_ty&& _arg) noexcept

物件要實現轉移建構函式。

詳細介紹

待補充強制型別轉換說明:

強制型別轉換

說明static_cast

用於基本型別之間、有繼承關係的類物件之間、類指標之間的轉換;

不能用於基本型別指標之間的轉換

const_cast

用於去除變數的唯讀屬性即去除const volatile屬性;

強制轉換的目標型別必須是指標或引用

reinterpret_cast

用於指標型別之間、整數和指標型別之間的轉換,非常不安全

dynamic_cast

用於有繼承關係的類指標之間、有交叉關係的類指標之間的轉換;

具有型別檢查的功能;

需要虛函式的支援

注意事項:

用法:static_cast 《型別說明符》 (變數或表示式)

它主要有如下幾種用法:

(1)用於類層次結構中基類和派生類之間指標或引用的轉換

+ 進行上行轉換(把派生類的指標或引用轉換成基類表示)是安全的

+ 進行下行轉換(把基類的指標或引用轉換為派生類表示),由於沒有動態型別檢查,所以是不安全的

(2)用於基本資料型別之間的轉換,如把int轉換成char。這種轉換的安全也要開發人員來保證

(3)把空指標轉換成目標型別的空指標

(4)把任何型別的表示式轉換為void型別

注意:static_cast不能轉換掉expression的const、volitale或者__unaligned屬性。

static_cast:可以實現c++中內建基本資料型別之間的相互轉換。

在c++語言中,reinterpret_cast主要有三種強制轉換用途:改變指標或引用的型別、將指標或引用轉換為乙個足夠長度的整形、將整型轉換為指標或引用型別。

用法:reinterpret_cast(expression)

type-id必須是乙個指標、引用、算術型別、函式指標或者成員指標。

它可以把乙個指標轉換成乙個整數,也可以把乙個整數轉換成乙個指標(先把乙個指標轉換成乙個整數,在把該整數轉換成原型別的指標,還可以得到原先的指標值)。

在使用reinterpret_cast強制轉換過程僅僅只是位元位的拷貝,因此在使用過程中需要特別謹慎!

用法:dynamic_cast(expression)

(1)其他三種都是編譯時完成的,dynamic_cast是執行時處理的,執行時要進行型別檢查。

(2)不能用於內建的基本資料型別的強制轉換。

(3)dynamic_cast轉換如果成功的話返回的是指向類的指標或引用,轉換失敗的話則會返回null。

(4)使用dynamic_cast進行轉換的,基類中一定要有虛函式,否則編譯不通過。

(5)在類的轉換時,在類層次間進行上行轉換時,dynamic_cast和static_cast的效果是一樣的。在進行下行轉換時,dynamic_cast具有型別檢查的功能,比static_cast更安全。

JS語法部分

定義變數使用通用型別var 字串 需要引號 小數,整數,布林型 只返回對或錯 日期時間 算術運算子 1取餘數,2判斷是不是整數,3將某個數值變為某個範圍之內的數,4判斷a是不是b的倍數 關係運算子 不等於 邏輯運算子 並 或 非 其他運算子 賦值 型別轉換 parseint 轉換為整數 parsef...

日語語法部分總結

形容詞推量形 即表示推測的形式。詞尾 變成 後續推量助動詞 表示推測 例 涼 大概涼爽吧 大概好吧 不過,現代日語中,除了少數約定俗成的慣用形式中還可見 形式外,表示推測時,已經改用了更簡便的 終止形 方式了 例 涼 大概涼爽吧 2 形容動詞 1 詞形特徵 2 詞尾變化 活用 1 連用形 否定 用於...

URI解析 語法部分

為了清晰描述網路資源的位置,計算機先驅們搗鼓出了uri url urn這些邏輯模型。首先uri叫做統一資源識別符號,為了表示網路中的資源,必須確定嚴謹的語法 uri語法如下 表示可有可無 scheme scheme specific part fragment 其中scheme specific p...