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

C++ 花括號(hào){}初始化小結(jié)

 更新時(shí)間:2023年06月27日 14:28:32   作者:Jiali_0323  
在C++11及以后的版本中,花括號(hào){}語(yǔ)法在不同語(yǔ)境下有不同的用法,本文就詳細(xì)的介紹C++ 花括號(hào){}初始化,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

在C++11及以后的版本中,花括號(hào){}語(yǔ)法在不同語(yǔ)境下有不同的用法,下面總結(jié)使用{}的常見(jiàn)場(chǎng)景:

1 列表初始化

List Initialization

{}可以使用列表初始化的方式初始化對(duì)象,包括內(nèi)置類(lèi)型,數(shù)組,容器等。如:

int x = {5};            // x被初始化為5
std::vector<int> v = {1, 2, 3};  // 用三個(gè)元素初始化一個(gè)數(shù)組
int arr[] = {1, 2, 3};  // 用三個(gè)元素初始化一個(gè)數(shù)組

列表初始化確保初始化是充分定義的。

2 值初始化

Value Initialization

在某些情況下,{}會(huì)用零或者默認(rèn)值來(lái)初始化一個(gè)對(duì)象,如:

int x{};       // x被初始化為0
double d{};    // x被初始化為0

對(duì)于沒(méi)有初始化構(gòu)造函數(shù)的對(duì)象,可以使用值初始化的方式。

3 空初始化

Empty Initialization

在某些情況下,{}會(huì)將對(duì)象初始化為空,如:

std::string s{};      // 初始化一個(gè)空字符串
std::vector<int> v{}; // 初始化一個(gè)空容器
char arr[10]{}; //初始化一個(gè)空數(shù)組

4 指針的空初始化

Empty Initialization of Pointers
{}可以將指針初始化為nullptr,表示其暫時(shí)不指向任何對(duì)象。

int* ptr{};         // 將指針初始化為nullptr
std::shared_ptr<int> sp{};  // 將共享指針初始化為nullptr

花括號(hào)實(shí)際上是通過(guò)initializer_list的方式來(lái)實(shí)現(xiàn)

vector (initializer_list<value_type> il,
const allocator_type& alloc = allocator_type());   //vector使用initializer_list進(jìn)行初始化

C++11中提供了initializer_list類(lèi)(初始值列表,定義在initializer_list頭文件中),用于處理參數(shù)類(lèi)型相同但是數(shù)量可變的情況

initializer_list<T> lst; 
// 默認(rèn)初始化,元素列表為空
initializer_list<T> lst{a, b,c...}; 
// lst的元素為對(duì)應(yīng)初始值的副本,列表中元素均為const,不能修改

lst2(lst)       拷貝操作,不會(huì)拷貝列表中的元素

lst2 = lst      賦值操作,不會(huì)拷貝列表中的元素

lst.size()      返回列表的大小

lst.begin()    返回指向lst中首元素的指針

lst.end()       返回指向lst中尾元素下一個(gè)位置的指針

初始值列表并沒(méi)有提供可以增刪元素的操作,所以只能可以通過(guò)花括號(hào)的方式構(gòu)造initializer_list對(duì)象,然后作為參數(shù)傳入,使用時(shí)通過(guò)迭代器進(jìn)行遍歷。

到此這篇關(guān)于C++ 花括號(hào){}初始化小結(jié)的文章就介紹到這了,更多相關(guān)C++ 花括號(hào)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++中運(yùn)算符重載的規(guī)則語(yǔ)法實(shí)例

    C++中運(yùn)算符重載的規(guī)則語(yǔ)法實(shí)例

    今天小編就為大家分享一篇關(guān)于C++中運(yùn)算符重載的規(guī)則語(yǔ)法實(shí)例,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12
  • c++容器list、vector、map、set區(qū)別與用法詳解

    c++容器list、vector、map、set區(qū)別與用法詳解

    這篇文章主要介紹了c++容器list、vector、map、set區(qū)別與用法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • Qt實(shí)現(xiàn)蘋(píng)果狀態(tài)切換按鈕

    Qt實(shí)現(xiàn)蘋(píng)果狀態(tài)切換按鈕

    這篇文章主要為大家詳細(xì)介紹了Qt實(shí)現(xiàn)蘋(píng)果狀態(tài)切換按鈕,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • c語(yǔ)言如何實(shí)現(xiàn)DES加密解密

    c語(yǔ)言如何實(shí)現(xiàn)DES加密解密

    這篇文章主要介紹了c語(yǔ)言如何實(shí)現(xiàn)DES加密解密問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • 淺析char 指針變量char *=p 這個(gè)語(yǔ)句的輸出問(wèn)題

    淺析char 指針變量char *=p 這個(gè)語(yǔ)句的輸出問(wèn)題

    下面小編就為大家?guī)?lái)一篇淺析char 指針變量char *=p 這個(gè)語(yǔ)句的輸出問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-05-05
  • C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)之vector底層實(shí)現(xiàn)機(jī)制解析

    C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)之vector底層實(shí)現(xiàn)機(jī)制解析

    向量(Vector)是一個(gè)封裝了動(dòng)態(tài)大小數(shù)組的順序容器(Sequence?Container)。跟任意其它類(lèi)型容器一樣,它能夠存放各種類(lèi)型的對(duì)象??梢院?jiǎn)單的認(rèn)為,向量是一個(gè)能夠存放任意類(lèi)型的動(dòng)態(tài)數(shù)組
    2021-11-11
  • 詳解C語(yǔ)言編程之thread多線(xiàn)程

    詳解C語(yǔ)言編程之thread多線(xiàn)程

    這篇文章主要為大家介紹了C語(yǔ)言編程之thread多線(xiàn)程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-12-12
  • VC中CDC、HDC、pDC區(qū)別與聯(lián)系及相互轉(zhuǎn)換

    VC中CDC、HDC、pDC區(qū)別與聯(lián)系及相互轉(zhuǎn)換

    這篇文章主要介紹了VC中CDC、HDC、pDC區(qū)別與聯(lián)系及相互轉(zhuǎn)換的方法,非常的詳細(xì),有需要的小伙伴可以參考下,希望對(duì)大家學(xué)習(xí)VC能夠有所幫助。
    2015-11-11
  • 簡(jiǎn)單聊聊C++中線(xiàn)程的原理與實(shí)現(xiàn)

    簡(jiǎn)單聊聊C++中線(xiàn)程的原理與實(shí)現(xiàn)

    C++11?引入了多線(xiàn)程支持,提供了一套基本的線(xiàn)程庫(kù),包括線(xiàn)程、互斥量(mutex)、條件變量(condition_variable)等。這些組件可以幫助你在?C++?程序中實(shí)現(xiàn)并發(fā)和多線(xiàn)程編程,本文就來(lái)和大家簡(jiǎn)單聊聊吧
    2023-03-03
  • C++實(shí)現(xiàn)LeetCode(40.組合之和之二)

    C++實(shí)現(xiàn)LeetCode(40.組合之和之二)

    這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(40.組合之和之二),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07

最新評(píng)論

浦东新区| 嘉黎县| 霍林郭勒市| 堆龙德庆县| 富平县| 罗定市| 文昌市| 金川县| 西宁市| 七台河市| 泗阳县| 永兴县| 建水县| 绵竹市| 湛江市| 周宁县| 乌拉特中旗| 平山县| 霍城县| 德庆县| 江永县| 建昌县| 石泉县| 襄樊市| 承德县| 大城县| 澄迈县| 阜城县| 安乡县| 宜城市| 澳门| 新民市| 西乡县| 含山县| 德钦县| 双辽市| 会东县| 津南区| 鸡东县| 澜沧| 嘉禾县|