欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

不知道C++這七大特性,絕對枉為圈中人

2021-02-16    分類: 網(wǎng)站建設(shè)

作為一種計算機語言,C++經(jīng)歷了許多發(fā)展變化。

當然,這些改變并不是一蹴而就的。C++曾經(jīng)缺乏活力與創(chuàng)新,因此很不受歡迎。

但是在C++標準委員會決定加速發(fā)展這個語言之后,形勢發(fā)生了改變。

2011年起,C++一躍成為了具有活力、不斷演進、廣受喜愛的計算機語言。

C++蛻變后也并沒有簡單多少,仍是最難的編程語言之一。但是,C++確實比之前更加人性化了。

本文要講的是的C++的一些新特性(以有8年歷史的C++11為例),相信每個程序員都會對這個話題感興趣。

注:本文略過了一些高級特性。

1. 關(guān)鍵字auto

當C++11第一次引入auto時,程序員們紛紛喜極而泣!

auto的意義是使C++編譯器可以在編譯時推導數(shù)據(jù)類型,這樣就不用每次都要聲明數(shù)據(jù)類型了。當數(shù)據(jù)類型為

  1. map>>?

沒有initializer,就無法聲明數(shù)據(jù)類型(見第五行)。這是說得通的。第五行指令并沒有讓編譯器推導數(shù)據(jù)類型。

起初,auto的功能比較有限。在之后新版本的C++中,auto的功能越來越強大。

第七行和第八行中使用了括號初始化 (bracketedinitialization),這也是C++11的新特性之一。

請注意使用auto時,編譯器必須能夠推導數(shù)據(jù)類型。

一個有趣的問題是:如果寫下autoa = {1, 2, 3}會發(fā)生什么?這是個編譯錯誤嗎?是一個矢量嗎?

以上代碼是constexpr的常見例子之一。既然聲明斐波那契數(shù)列函數(shù)為constexpr, 那么編譯器就可以在編譯時預運算fib(20). 所以編譯之后,可以用constlong long bigval = 2432902008176640000來替代const longlong bigval = fib(20).

請注意,傳遞參數(shù)是一個const 值。這是被聲明為constexpr的函數(shù)的一個重點——傳遞參數(shù)應該是constexpr或const。否則這里的函數(shù)會和普通函數(shù)一樣,也就是說編譯時不進行預運算。

變量也可以是constexpr. 在這種情況下,這些變量在編譯時必須可評估;否則會出現(xiàn)編譯錯誤。

有趣的是,后來在C++17中引入了constexpr-if 和constexpr-lambda.

5. Tuples元組

與pair非常類似, tuple是各種數(shù)據(jù)類型的固定大小值的集合。

不知道C++這七大特性,絕對枉為圈中人

有時,相比于tuple,使用 std::array更方便。array類似于帶有C++標準庫的功能的plain C陣列。這個數(shù)據(jù)結(jié)構(gòu)是C++11新增的。

6. 類模板參數(shù)推導

這個特性的名字還挺啰嗦。從C++17開始,標準類模板也可以進行模板參數(shù)推導。之前,模板參數(shù)推導只支持函數(shù)模板。結(jié)果就是:

  1. std::pair?user?=?{"M",?25};?//?previous?
  2. std::pair?user?=?{"M",?25};?//?C++17?

這種推導是“隱性的”。這對于tuple來說就更方便了。

  1. //?previous?
  2. std::tuple?user?("M","Chy",?25);?
  3. //?deduction?in?action!??
  4. std::tuple?user2("M",?"Chy",?25);?

以上這一特性對不熟悉C++模板的人來說沒有太大用處。

7. 智能指針

指針有時很恐怖。由于C++語言為程序員提供了很大程度的自由,所以有時很容易搬起石頭砸自己的腳。而且很多情況下,麻煩是由指針造成的。

幸運的是,C++11引入了智能指針,智能指針比普通指針便捷得多。它們通過適時釋放內(nèi)存來幫助程序員防止內(nèi)存泄漏。它們還有助于代碼達到異常安全等級。

本文題目:不知道C++這七大特性,絕對枉為圈中人
分享URL:http://chinadenli.net/news24/101274.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)自適應網(wǎng)站、軟件開發(fā)網(wǎng)站維護、網(wǎng)站排名品牌網(wǎng)站設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)
日本不卡在线视频你懂的| 亚洲中文字幕在线观看四区| 国产精品日韩欧美第一页| 国产精品成人一区二区在线| 美国黑人一级黄色大片| 日韩黄色大片免费在线| 在线观看免费视频你懂的 | 蜜桃传媒在线正在播放| 无套内射美女视频免费在线观看| 久一视频这里只有精品| 国产精品一区二区三区日韩av | 东京热加勒比一区二区三区| 亚洲中文在线男人的天堂| 久久三级国外久久久三级| 亚洲夫妻性生活免费视频| 日本美国三级黄色aa| 国产成人高清精品尤物| 亚洲国产丝袜一区二区三区四 | 欧美大黄片在线免费观看| 人妻人妻人人妻人人澡| 国产无摭挡又爽又色又刺激| 精品人妻一区二区四区| 国产日产欧美精品视频| 国产一级不卡视频在线观看| 亚洲欧美日韩国产综合在线| 夜夜躁狠狠躁日日躁视频黑人| 日韩欧美二区中文字幕| 亚洲熟女诱惑一区二区| 色好吊视频这里只有精| 国产又粗又深又猛又爽又黄| av一区二区三区天堂| 午夜精品麻豆视频91| 九九热视频经典在线观看| 国产免费一区二区三区不卡| 国产成人精品99在线观看| 人人妻人人澡人人夜夜| 人妻亚洲一区二区三区| 国产在线一区二区三区不卡| 一级片二级片欧美日韩| 亚洲最新中文字幕在线视频| 69精品一区二区蜜桃视频|