中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

部門網(wǎng)站建設(shè)個(gè)人總結(jié)國外搜索引擎排名

部門網(wǎng)站建設(shè)個(gè)人總結(jié),國外搜索引擎排名,怎么在百度上做網(wǎng)站推廣,東莞銷售網(wǎng)站建設(shè)前言: C11 是C編程語言的一個(gè)重要版本,于2011年發(fā)布。它帶來了數(shù)量可觀的變化,包含約 140 個(gè)新特性,以及對(duì) C03 標(biāo)準(zhǔn)中約600個(gè)缺陷的修正,更像是從 C98/03 中孕育出的新語言 列表初始化 C11 中的列表初始化&#xff0…

前言:

C++11 C++編程語言的一個(gè)重要版本,于2011年發(fā)布。它帶來了數(shù)量可觀的變化,包含約 140 個(gè)新特性,以及對(duì) C++03 標(biāo)準(zhǔn)中約600個(gè)缺陷的修正,更像是從 C++98/03 中孕育出的新語言

列表初始化

C++11 中的列表初始化(List Initialization)是一種新的初始化語法,它提供了更統(tǒng)一、更靈活和更安全的初始化方式。以下是關(guān)于 C++11 列表初始化的詳細(xì)介紹

基本語法

可以直接在變量名后面加上初始化列表來進(jìn)行對(duì)象的初始化。

int x = {10};  // 初始化一個(gè)整數(shù)變量 x 為 10
int arr[] = {1, 2, 3};  // 初始化一個(gè)整數(shù)數(shù)組 arr
std::vector<int> v = {4, 5, 6};  // 初始化一個(gè) std::vector 容器

適用范圍

  • **內(nèi)置類型:**可用于所有內(nèi)置類型,如整數(shù)、浮點(diǎn)數(shù)、字符等。
  • **自定義類型:**對(duì)于自定義的類或結(jié)構(gòu)體,如果滿足聚合類型的條件,也可以使用列表初始化。如果類定義了合適的構(gòu)造函數(shù)(包括接受 std::initializer_list 類型參數(shù)的構(gòu)造函數(shù)),同樣可以使用列表初始化

聚合類型的條件

在 C++11 中,聚合類型需要滿足以下條件1:

  • 類型是一個(gè)普通數(shù)組:如 int[5]char[]double[3] 等。
  • 類型是一個(gè)類,且滿足以下條件:
    • 沒有用戶聲明的構(gòu)造函數(shù)。
    • 沒有用戶提供的構(gòu)造函數(shù)(允許顯示預(yù)置或棄置的構(gòu)造函數(shù))。
    • 沒有私有或保護(hù)的非靜態(tài)數(shù)據(jù)成員。
    • 沒有基類。
    • 沒有虛函數(shù)。
    • 沒有 {}= 直接初始化的非靜態(tài)數(shù)據(jù)成員。
    • 沒有默認(rèn)成員初始化器

initializer_list

initializer_list C++11 引入的一種模板類,用于表示某種類型的對(duì)象的列表。它提供了一種方便的方式來處理和傳遞一組相同類型的值,類似于其他語言中的列表或數(shù)組。以下是關(guān)于 initializer_list 的一些重要特點(diǎn)和用法:

  • 創(chuàng)建和初始化

    • 可以使用花括號(hào) {} 來創(chuàng)建一個(gè) std::initializer_list 對(duì)象,并在其中列出要包含的元素。例如:std::initializer_list<int> myList = {1, 2, 3, 4, 5};。
    • 元素的類型必須相同,否則會(huì)導(dǎo)致編譯錯(cuò)誤。不過,編譯器會(huì)進(jìn)行一些隱式的類型轉(zhuǎn)換,例如將 int 類型的元素轉(zhuǎn)換為 double 類型的列表是允許的,但可能會(huì)有精度損失。例如:std::initializer_list<double> doubleList = {1, 2, 3}; 這里 1、23 會(huì)被隱式轉(zhuǎn)換為 1.0、2.0、3.0
    • 不允許進(jìn)行縮窄轉(zhuǎn)換,即會(huì)導(dǎo)致數(shù)據(jù)丟失或精度降低的轉(zhuǎn)換是不被允許的。例如:std::initializer_list<char> charList = {1000}; 會(huì)導(dǎo)致編譯錯(cuò)誤,因?yàn)?1000 超出了 char 類型的取值范圍。
  • 常見用法

    • 初始化容器:可以方便地用于初始化標(biāo)準(zhǔn)庫中的容器,如 std::vector、std::list 等。例如:std::vector<int> vec = {1, 2, 3};。
    • 函數(shù)參數(shù):函數(shù)可以接受 std::initializer_list 作為參數(shù),從而可以接收任意數(shù)量的同類型參數(shù)。例如:
    void printValues(std::initializer_list<int> values) {for (auto value : values) {std::cout << value << " ";}std::cout << std::endl;
    }int main() {printValues({1, 2, 3, 4, 5});return 0;
    }
    
    • 類的構(gòu)造函數(shù):在類的構(gòu)造函數(shù)中使用 std::initializer_list,可以方便地實(shí)現(xiàn)多種初始化方式。例如:

在這里插入圖片描述

auto

C++11 中,auto是一個(gè)用于自動(dòng)類型推導(dǎo)的關(guān)鍵字。它可以讓編譯器根據(jù)初始化表達(dá)式的類型自動(dòng)推斷變量的類型,從而簡化代碼的編寫,提高代碼的可讀性和可維護(hù)性1。以下是關(guān)于 auto 的一些重要特點(diǎn)和用法:

  • 基本用法:在定義變量時(shí),使用 auto 關(guān)鍵字,編譯器會(huì)根據(jù)初始化的值來推斷變量的類型。例如:
auto x = 5;  // x 的類型為 int
auto y = 3.14;  // y 的類型為 double
auto z = "hello, world!";  // z 的類型為 const char*

與指針和引用結(jié)合

  • auto 可以與指針結(jié)合使用,用于自動(dòng)推導(dǎo)指針類型。例如:
int num = 10;
auto ptr = &num;  // ptr 的類型為 int*
  • 用于函數(shù)返回值類型推導(dǎo)(C++14):在 C++14 標(biāo)準(zhǔn)中,可以使用 auto 關(guān)鍵字結(jié)合 -> 運(yùn)算符來推導(dǎo)函數(shù)的返回值類型。例如:
auto add(int a, int b) -> int {return a + b;  // 返回 a 和 b 的和
}
  • 在范圍 for 循環(huán)中的應(yīng)用(C++11):C++11 引入的范圍 for 循環(huán)結(jié)合 auto 關(guān)鍵字,可以更方便地遍歷容器。例如:
std::vector<int> numbers = {1, 2, 3, 4, 5};
for (auto number : numbers) {std::cout << number << std::endl;  // 輸出每個(gè)元素
}

優(yōu)點(diǎn)

  • 簡化代碼:避免了手動(dòng)指定復(fù)雜的類型,尤其是對(duì)于模板庫中復(fù)雜的迭代器類型等,使用 auto 可以大大簡化代碼的書寫1。
  • 提高可讀性:使代碼更加清晰易讀,減少了類型聲明帶來的視覺干擾,讓開發(fā)者更關(guān)注于代碼的邏輯而不是類型的細(xì)節(jié)1。
  • 靈活性:在類型需要改變時(shí),只需要修改初始化表達(dá)式的類型,而使用 auto 定義的變量的類型會(huì)自動(dòng)隨之改變,減少了代碼修改的工作量。

decltype

基本語法

decltype(expression) variable_name;
  • expression:用于推導(dǎo)類型的表達(dá)式。
  • variable_name:根據(jù)推導(dǎo)出的類型聲明的變量名。

使用場景

  1. 推導(dǎo)變量的類型
    通過 decltype,你可以推導(dǎo)一個(gè)已有變量的類型:

    int a = 5;
    decltype(a) b = 10; // b的類型是int,和a相同
    
  2. 推導(dǎo)表達(dá)式的類型
    decltype 也可以用于推導(dǎo)更復(fù)雜的表達(dá)式的類型:

    int x = 10;
    decltype(x + 1.0) y;  // y的類型是double,因?yàn)閤+1.0的結(jié)果是double
    
  3. 用于函數(shù)返回類型
    在C++11中,你可以通過 decltype 根據(jù)函數(shù)內(nèi)部表達(dá)式來指定返回類型:

    template<typename T1, typename T2>
    auto add(T1 a, T2 b) -> decltype(a + b) {return a + b;
    }
    

    這里,decltype(a + b) 將推導(dǎo)出 a + b 的類型,并用作返回類型。

  4. 在lambda表達(dá)式中使用
    在C++11中,你可以在lambda表達(dá)式中使用 decltype 推導(dǎo)捕獲變量或返回值的類型:

    auto lambda = [](int x, int y) -> decltype(x + y) {return x + y;
    };
    

decltype與auto的區(qū)別

  • auto 用于根據(jù)初始化表達(dá)式推導(dǎo)變量類型。
  • decltype 不需要初始化,直接根據(jù)表達(dá)式推導(dǎo)類型,可以用于聲明變量、函數(shù)返回類型等。

例如:

int a = 5;
auto b = a;  // auto推導(dǎo)b為int
decltype(a) c;  // decltype推導(dǎo)c為int,但c未初始化

用于根據(jù)初始化表達(dá)式推導(dǎo)變量類型。

  • decltype 不需要初始化,直接根據(jù)表達(dá)式推導(dǎo)類型,可以用于聲明變量、函數(shù)返回類型等。

例如:

int a = 5;
auto b = a;  // auto推導(dǎo)b為int
decltype(a) c;  // decltype推導(dǎo)c為int,但c未初始化

decltype 可以在編譯時(shí)推導(dǎo)任意表達(dá)式的類型,因此在模板和泛型編程中,decltype 是一個(gè)強(qiáng)大的工具。

http://www.risenshineclean.com/news/49635.html

相關(guān)文章:

  • 做網(wǎng)站設(shè)計(jì)工作的報(bào)告書常見的網(wǎng)絡(luò)營銷手段
  • 原創(chuàng)先鋒 北京網(wǎng)站建設(shè)安徽網(wǎng)站優(yōu)化
  • 免費(fèi)建社交網(wǎng)站查詢關(guān)鍵詞網(wǎng)站
  • 曲靖網(wǎng)站建設(shè)我們公司在做網(wǎng)站推廣
  • bilibili推廣網(wǎng)站接廣告的網(wǎng)站
  • wordpress .mo .po撫州網(wǎng)站seo
  • 微信引流推廣平臺(tái)青島百度推廣優(yōu)化怎么做的
  • 用前端做的比較酷的網(wǎng)站張家界seo
  • 好康的網(wǎng)站代碼邵陽疫情最新消息
  • 網(wǎng)站運(yùn)行維護(hù)方案免費(fèi)推廣網(wǎng)站大全下載
  • 惠州做網(wǎng)站電話深圳百度
  • wordpress 在線留言關(guān)鍵詞優(yōu)化工具
  • 人工智能 網(wǎng)站建設(shè)優(yōu)化設(shè)計(jì)答案六年級(jí)上冊(cè)
  • unity網(wǎng)絡(luò)游戲開發(fā)內(nèi)蒙古seo優(yōu)化
  • 網(wǎng)站平臺(tái)設(shè)計(jì)百度推廣怎么做最好
  • p2p網(wǎng)站建設(shè)小微金融南昌seo優(yōu)化
  • 通過社交網(wǎng)站來做招聘決定石家莊網(wǎng)絡(luò)推廣
  • 電子商務(wù)網(wǎng)站的建設(shè)收益好的網(wǎng)絡(luò)推廣平臺(tái)
  • 北京企業(yè)聚集西安優(yōu)化外
  • 網(wǎng)站 緩存方式全國前十名小程序開發(fā)公司
  • wordpress登錄cookiesseo排名優(yōu)化軟件價(jià)格
  • 馬大云湘潭網(wǎng)站優(yōu)化公司大家好
  • 佛山新網(wǎng)站建設(shè)方案網(wǎng)絡(luò)推廣如何收費(fèi)
  • 《電子商務(wù)網(wǎng)站建設(shè)》精品課關(guān)鍵詞檢索
  • 成都互聯(lián)網(wǎng)制作網(wǎng)站頁面優(yōu)化方案
  • 做網(wǎng)站的分辨率要多大百度怎么推廣自己的網(wǎng)站
  • app網(wǎng)站如何做推廣在百度怎么發(fā)布作品
  • 中國建設(shè)廳網(wǎng)站如何做電商
  • 網(wǎng)站改域名如何做百度優(yōu)化網(wǎng)頁優(yōu)化seo廣州
  • 浙江建設(shè)銀行官網(wǎng)站紀(jì)念幣seo和sem推廣