首页
/
每日頭條
/
生活
/
c類知識點總結
c類知識點總結
更新时间:2024-12-28 10:27:15

類内成員初始化

定義成員變量時,可以像static const變量一樣就地初始化,但static變量則不可以,還要像C 98一樣在類外初始化。

c類知識點總結(C11常用特性03)1

在C 17的标準中,通過使用inline關鍵字,可以對static成員變量地初始化

c類知識點總結(C11常用特性03)2

所有引入foo的cpp文件中看到的都是相同的對象,就如同在一個cpp文件中定義,在其它cpp文件中extern這個變量,編譯器确保該變量所在的可見範圍内全局唯一。

初始化列表

為了統一初始化方式,并且讓初始化行為具有确定的效果,C 11提出了初始化列表

c類知識點總結(C11常用特性03)3

STL中的容器是通過使用std::initializer_list這個輕量級的類模闆來完成上述功能支持的。隻需要為自定義類添加一個std::initializer_list構造函數,該類就可以擁有這種任意長度的初始化能力。

c類知識點總結(C11常用特性03)4

std::initializer_list也可以用在一般函數,用來傳遞同類型的數據集合。

std::initializer_list說明:

1)輕量級模闆容器,可以通過iterator操作,但隻有3個接口函數:size、begin和end

2)可以接收任意長度的初始化列表,但必須是同類型元素

3)隻能被整體初始化或賦值

防止類型收窄

類型收窄指的是導緻數據内容發生變化或者精度丢失的隐式類型轉換。使用列表初始化可以防止類型收窄。

如下是常見的類型收窄情況,編譯器可能不會有告警或錯誤,但經過隐式轉換後,值變了

1、浮點數隐式轉為整數。 int i = 0.3;

2、高精度浮點數隐式轉為低精度浮點數。long double -> double -> float

3、整型轉浮點型,整型值大于浮點型

4、長整型轉為短整型

c類知識點總結(C11常用特性03)5

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
聯想一鍵恢複怎麼使用
聯想一鍵恢複怎麼使用
聯想一鍵恢複的用法如下:1、老版本的聯想電腦,在電腦開機鍵旁邊,因為版本不一樣可能位置有變化,會有一...
2024-12-28
買房不要買3.7.10.17什麼意思 買房要注意的十大事項
買房不要買3.7.10.17什麼意思 買房要注意的十大事項
大家買房選樓層時,一定都會先了解清楚,各個樓層都有哪些優缺點,有的樓層一直不太受歡迎往往是有原因的,對于選擇樓層,大家也要多個角度考慮。下面,小編就來告訴大家,買房不要買3.7.10.17什麼意思,買房要注意的十大事項相關内容。買房不要買3.7.10.17什麼意思現在在買房的時候,很多人比較忌諱一些...
2024-12-28
佛山十大川菜店排行榜:蜀大俠上榜,第三裝修精緻
佛山十大川菜店排行榜:蜀大俠上榜,第三裝修精緻
在大家的印象當中,廣州人的口味都是比較清淡的,所以食物都是以清淡的食物為主,什麼煲仔飯、雞湯、廣式臘腸,都是不辣的食物,而川菜則剛好相反,重油重辣,你知道佛山哪幾家川菜館最受歡迎嘛,本站今天為大家帶來佛山的十大川菜店排行榜,一起來看看吧~佛山十大川菜店排行榜1.重慶小面萬州烤魚2.四川豆花飯3.蔓川...
2024-12-28
五針松種子什麼時候播種
五針松種子什麼時候播種
1、最好的時間是在每年的3月到5月之間,也就是春季為其播種季節,另外就是秋季五針松種子也是可以播種的,或者是通過沙藏催芽等到春季再進行播種。2、五針松種植以沙土壤為主,因此你要選擇微酸,土壤疏松,排水良好的地帶,最好之前種植過豆類,棉花或者玉米等蔬菜及農作物,如果沒有經過處理的種子,發芽機率低,可能...
2024-12-28
财神是道家還是佛家的 财神爺是誰叫什麼名字
财神是道家還是佛家的 财神爺是誰叫什麼名字
一年當中過年的時候最熱鬧,家家戶戶團圓慶賀新年的同時,也代表了對新年新氣象的美好寄托。過年期間有很多有特色的習俗,都是為了圖一個新年的好彩頭,比如大年初五的時候人們會迎接财神,這樣就可以把未來的财運迎接回家,那麼财神是道家還是佛家的?财神爺是誰叫什麼名字?下面,就快和小編一起了解相關知識吧!财神是道...
2024-12-28
Copyright 2023-2024 - www.tftnews.com All Rights Reserved