最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

C++知識分享:C++類特殊成員函數(shù)

2022-01-15 20:03 作者:C語言編程__Plus  | 我要投稿

C++類中有幾個特殊的非靜態(tài)成員函數(shù),當用戶未定義這些函數(shù)時,編譯器將給出默認實現(xiàn)。C++11前有四個特殊函數(shù),C++11引入移動語義特性,增加了兩個參數(shù)為右值的特殊函數(shù)。


這六個函數(shù)分別是:

默認構(gòu)造函數(shù)

默認構(gòu)造函數(shù)指不需要參數(shù)就能初始化的構(gòu)造函數(shù)。包含無參所有參數(shù)有默認值兩種類型的構(gòu)造函數(shù)。

復制構(gòu)造函數(shù)

復制構(gòu)造函數(shù)指使用該類的對象作為參數(shù)的構(gòu)造函數(shù)。可以有其他參數(shù),但必須提供默認值。

復制賦值運算符

重載等號=,將該類的對象賦值已定義對象。

析構(gòu)函數(shù)

沒啥可說的。

移動構(gòu)造函數(shù)

C++11新增,該類的右值對象為參數(shù)的構(gòu)造函數(shù),其余同復制構(gòu)造函數(shù)。

移動復制運算符

復制賦值運算符,唯一不同是參數(shù)為右值。

看定義容易迷糊,上代碼就會很清晰:

用g++或者clang編譯,加上-fno-elide-constructors?-std=c++0x選項。執(zhí)行程序輸出如下:

結(jié)果是我們預期的。需要注意的是Foo?foo3?=?foo1的形式會調(diào)用復制構(gòu)造函數(shù),不會調(diào)用復制賦值運算符。原因是Foo?foo3?=?xxx聲明和定義一個新對象,而賦值是作用在已定義對象。移動賦值運算符同理。

C++11新增了=default和=delete函數(shù)修飾符,提示編譯器使用默認或者刪除默認的特殊函數(shù)。需要注意的是這兩個修飾符只能修飾上述特殊函數(shù),用戶可以用其對特殊函數(shù)進行裁剪。一個例子:

寫在最后:對于準備學習C/C++編程的小伙伴,如果你想更好的提升你的編程核心能力(內(nèi)功)不妨從現(xiàn)在開始!

微信公眾號:C語言編程學習基地

C語言零基礎入門教程(83集全)

整理分享(多年學習的源碼、項目實戰(zhàn)視頻、項目筆記,基礎入門教程)

歡迎轉(zhuǎn)行和學習編程的伙伴,利用更多的資料學習成長比自己琢磨更快哦!



C++知識分享:C++類特殊成員函數(shù)的評論 (共 條)

分享到微博請遵守國家法律
克什克腾旗| 蛟河市| 板桥市| 滦平县| 荣昌县| 长宁县| 古蔺县| 隆德县| 伊金霍洛旗| 蕲春县| 婺源县| 长岛县| 盘山县| 黔南| 公安县| 金乡县| 股票| 云南省| 潜山县| 临汾市| 嘉兴市| 昌平区| 汤原县| 揭东县| 亳州市| 中超| 三门峡市| 锡林浩特市| 大宁县| 平泉县| 朝阳县| 兴宁市| 枣庄市| 类乌齐县| 江油市| 中方县| 宁蒗| 江油市| 钟山县| 武义县| 德惠市|