最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++ 變量的聲明和初始化方式示例詳解

 更新時(shí)間:2024年06月03日 11:46:25   作者:xiaowu080  
在 C++ 中,直接初始化和復(fù)制初始化之間有一些微妙的區(qū)別,通常,直接初始化更加高效并且可以用于更多的情況,因?yàn)樗诼暶鞯耐瑫r(shí)就執(zhí)行了初始化操作,這篇文章主要介紹了C++ 變量的聲明和初始化方式示例,需要的朋友可以參考下

C++ 變量的聲明和初始化方式

下面是一些示例,展示了不同的初始化方式:

double r(3.0);   // 直接初始化
double s = 3.0;  // 復(fù)制初始化
double t{3.0};   // 列表初始化 (C++11 起)
這三種方式都將創(chuàng)建一個(gè) double 類(lèi)型的變量,并將其初始化為 3.0。

這三種初始化方式在語(yǔ)義上有所不同:

直接初始化 (double r(3.0);): 這種方式在 C++ 中被稱為直接初始化。它表示創(chuàng)建一個(gè)名為 rdouble 類(lèi)型變量,并將其初始化為 3.0。直接初始化的語(yǔ)法使用圓括號(hào)。

復(fù)制初始化 (double s = 3.0;): 這是一種傳統(tǒng)的初始化方式,稱為復(fù)制初始化。它也表示創(chuàng)建一個(gè)名為 sdouble 類(lèi)型變量,并將其初始化為 3.0。在復(fù)制初始化中,使用等號(hào) = 將值賦給變量。

列表初始化 (double t{3.0};): 這是 C++11 引入的一種新的初始化方式,也被稱為初始化列表。它使用花括號(hào) {} 來(lái)初始化變量。列表初始化不僅可以用于變量聲明,還可以用于數(shù)組、結(jié)構(gòu)體、類(lèi)等類(lèi)型的初始化。列表初始化在一些情況下會(huì)更嚴(yán)格,例如對(duì)于窄化轉(zhuǎn)換的檢查。

但在 C++ 中,直接初始化和復(fù)制初始化之間有一些微妙的區(qū)別。通常,直接初始化更加高效并且可以用于更多的情況,因?yàn)樗诼暶鞯耐瑫r(shí)就執(zhí)行了初始化操作。 

在大多數(shù)情況下,這三種初始化方式都可以使用,并且它們?cè)诮Y(jié)果上是等效的。然而,列表初始化在某些情況下會(huì)更加嚴(yán)格,并且在使用窄化轉(zhuǎn)換時(shí)會(huì)進(jìn)行檢查,這使得它在某些情況下更加安全。

窄化轉(zhuǎn)換案例:

double d = 10.5;
int i = d;               // 復(fù)制初始化,窄化轉(zhuǎn)換,可能丟失精度
int j = {10.5};          // 列表初始化,會(huì)導(dǎo)致編譯錯(cuò)誤,因?yàn)檎D(zhuǎn)換是不允許的

復(fù)制初始化時(shí),將 double 類(lèi)型的值賦給 int 類(lèi)型的變量 i,這會(huì)導(dǎo)致窄化轉(zhuǎn)換,可能會(huì)丟失精度。

列表初始化時(shí),將 10.5 賦給 int 類(lèi)型的變量 j,這也會(huì)導(dǎo)致窄化轉(zhuǎn)換,但是列表初始化對(duì)窄化轉(zhuǎn)換進(jìn)行了檢查,因此會(huì)導(dǎo)致編譯錯(cuò)誤。列表初始化方式在這種情況下會(huì)更加嚴(yán)格,以避免可能導(dǎo)致錯(cuò)誤的窄化轉(zhuǎn)換。 

到此這篇關(guān)于C++ 變量的聲明和初始化方式的文章就介紹到這了,更多相關(guān)C++ 變量的聲明和初始化內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

苍南县| 石台县| 原平市| 乐安县| 响水县| 宜兰县| 达日县| 沈丘县| 黑河市| 江城| 册亨县| 罗源县| 同江市| 开封县| 青铜峡市| 广南县| 望都县| 株洲县| 隆德县| 遵化市| 沭阳县| 山东| 光泽县| 汝城县| 巧家县| 府谷县| 渭源县| 潞城市| 泰安市| 正阳县| 綦江县| 兰州市| 北京市| 甘孜| 黔东| 腾冲县| 石门县| 高要市| 太湖县| 临江市| 疏附县|