国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【C++雜貨鋪】構(gòu)造函數(shù)和析構(gòu)函數(shù)

這篇具有很好參考價(jià)值的文章主要介紹了【C++雜貨鋪】構(gòu)造函數(shù)和析構(gòu)函數(shù)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

【C++雜貨鋪】構(gòu)造函數(shù)和析構(gòu)函數(shù),C++雜貨鋪,c++,java,jvm

一、類的六個(gè)默認(rèn)成員函數(shù)

??默認(rèn)成員函數(shù)
用戶沒(méi)有顯式實(shí)現(xiàn),編譯器會(huì)自動(dòng)生成的成員函數(shù),稱為默認(rèn)成員函數(shù)。
【C++雜貨鋪】構(gòu)造函數(shù)和析構(gòu)函數(shù),C++雜貨鋪,c++,java,jvm

  • 構(gòu)造函數(shù):完成對(duì)象的初始化工作。
  • 析構(gòu)函數(shù):完成對(duì)象空間的清理工作。
  • 拷貝構(gòu)造:使用同類對(duì)象初始化創(chuàng)建對(duì)象。
  • 賦值重載:把一個(gè)對(duì)象賦值給另外一個(gè)對(duì)象(該對(duì)象已存在)。
  • 取地址重載:獲取對(duì)象的地址,這兩個(gè)很少自己實(shí)現(xiàn)。

注意:構(gòu)造和析構(gòu)函數(shù),不是創(chuàng)建對(duì)象和銷毀對(duì)象。對(duì)象的創(chuàng)建和銷毀都是編譯器做的工作。

二、構(gòu)造函數(shù)

??為什么要有構(gòu)造函數(shù)?
為了避免每次創(chuàng)建對(duì)象后,都要去調(diào)用專門的成員函數(shù)設(shè)置對(duì)象的信息,這樣很麻煩,并且容易遺忘,那就想著能否在創(chuàng)建對(duì)象的同時(shí),就將信息設(shè)置進(jìn)去。因此,就有了構(gòu)造函數(shù)。以日期類為例:

class Date
{
public:
	void Init(int year, int month, int day)
	{
		_year = year;
		_month = month;
		_day = day;
	}
	void Print()
	{
		cout << _year << "-" << _month << "-" << _day << endl;
	}
private:
	int _year;
	int _month;
	int _day;
};
int main()
{
	Date d1;//第一步:創(chuàng)建對(duì)象
	d1.Init(2022, 7, 5);//調(diào)用初始化函數(shù)
	d1.Print();
	Date d2;
	d2.Init(2022, 7, 6);
	d2.Print();
	return 0;
}

如上面的代碼,每次創(chuàng)建一個(gè)日期類對(duì)象后,都要手動(dòng)的去調(diào)用Init函數(shù),完成對(duì)象的初始化,整個(gè)過(guò)程繁瑣,而且容易遺忘,為此,提出了構(gòu)造函數(shù)的概念。

??定義
構(gòu)造函數(shù)是一個(gè)特殊的成員函數(shù)名字與類名相同,創(chuàng)建對(duì)象的時(shí)候由編譯器自動(dòng)調(diào)用,以保證每個(gè)數(shù)據(jù)成員都有一個(gè)合適的初始值,并且在對(duì)象的整個(gè)生命周期中只調(diào)用一次。

??構(gòu)造函數(shù)的特性

  • 函數(shù)名與類名相同。
  • 無(wú)返回值。(無(wú)需void)
  • 對(duì)象實(shí)例化時(shí)編譯器自動(dòng)調(diào)用對(duì)應(yīng)的構(gòu)造函數(shù)。
  • 構(gòu)造函數(shù)可以重載。

??示例:

 class Date
 {
  public:
      // 1.無(wú)參構(gòu)造函數(shù)
      Date()
     {}
  
      // 2.帶參構(gòu)造函數(shù)
      Date(int year, int month, int day)
     {
          _year = year;
          _month = month;
          _day = day;
     }
  private:
      int _year;
      int _month;
      int _day;
 };
  
  void TestDate()
 {
      Date d1; // 調(diào)用無(wú)參構(gòu)造函數(shù)
      Date d2(2015, 1, 1); // 調(diào)用帶參的構(gòu)造函數(shù)
      Date d3();
 }

注意:如果通過(guò)無(wú)參構(gòu)造函數(shù)創(chuàng)建對(duì)象時(shí),對(duì)象后面不用跟括號(hào),否則就成了函數(shù)聲明。即Date d3();是聲明了一個(gè)d3函數(shù),該函數(shù)無(wú)參,返回一個(gè)日期類對(duì)象,并不是創(chuàng)建了一個(gè)日期類對(duì)象d3。

構(gòu)造函數(shù)在語(yǔ)法上可以是私有的,但是在創(chuàng)建對(duì)象的時(shí)候就調(diào)不動(dòng)了。在單例模式中,會(huì)把構(gòu)造函數(shù)搞成私有,具體的我們以后再說(shuō)。

??編譯器生成的構(gòu)造函數(shù)
如果類中沒(méi)有顯式定義構(gòu)造函數(shù),則C++編譯器會(huì)自動(dòng)生成一個(gè)無(wú)參的默認(rèn)構(gòu)造函數(shù),一旦用戶顯式定義,編譯器將不在生成。

??示例:

class Date
{
 public:
	/*
	// 如果用戶顯式定義了構(gòu)造函數(shù),編譯器將不再生成
	Date(int year, int month, int day)
	{
		_year = year;
		_month = month;
		_day = day;
	}
	*/

	void Print()
	{
		cout << _year << "-" << _month << "-" << _day << endl;
	}
 
 private:
	int _year;
	int _month;
	int _day;
};
 
int main()
{
	Date d1;
	return 0;
}

將Date類中的構(gòu)造函數(shù)注釋掉后,代碼可以編譯通過(guò),因?yàn)榫幾g器生成了一個(gè)無(wú)參的默認(rèn)構(gòu)造函數(shù)。將Date類中的構(gòu)造函數(shù)放開(kāi)后,代碼編譯失敗,因?yàn)?strong>一旦顯式定義了任何構(gòu)造函數(shù),編譯器將不再生成默認(rèn)構(gòu)造函數(shù)。而此時(shí)Date中的構(gòu)造函數(shù)需要三個(gè)參數(shù),Date d1;會(huì)去調(diào)用無(wú)參的構(gòu)造函數(shù),但是當(dāng)前類中沒(méi)有無(wú)參的構(gòu)造函數(shù),所以編譯會(huì)報(bào)錯(cuò)。

??編譯器生成的構(gòu)造函數(shù)干了什么?
C++中把類型分為內(nèi)置類型自定義類型。內(nèi)置類型就是語(yǔ)言提供的數(shù)據(jù)類型,如:int、char……自定義類型就是我們使用class、struct、union等自己定義的類型。(所有類型的指針都屬于內(nèi)置類型)。

編譯器生成的默認(rèn)構(gòu)造函數(shù),對(duì)內(nèi)置類型不做處理,對(duì)自定義類型,會(huì)去調(diào)用它的默認(rèn)構(gòu)造函數(shù)。

??示例:

//先定義一個(gè)時(shí)間類
class Time
{
public:
	Time()
	{
		cout << "Time()" << endl;
		_hour = 0;
		_minute = 0;
		_second = 0;
	}
private:
	int _hour;
	int _minute;
	int _second;
};
//再定義一個(gè)日期類
class Date
{
private:
	// 基本類型(內(nèi)置類型)
	int _year;
	int _month;
	int _day;
	// 自定義類型
	Time _t;
};
int main()
{
	Date d;
	return 0;
}

【C++雜貨鋪】構(gòu)造函數(shù)和析構(gòu)函數(shù),C++雜貨鋪,c++,java,jvm

上面代碼,先定義了一個(gè)時(shí)間類Time,它的成員變量都是內(nèi)置類型,給這個(gè)類寫(xiě)了一個(gè)無(wú)參的構(gòu)造函數(shù),接下來(lái),定義了一個(gè)日期類Date,他有四個(gè)成員變量,其中_year、_month、 _day都是內(nèi)置類型,_t是自定義類型,并且,我們沒(méi)有寫(xiě)日期類的構(gòu)造函數(shù),這意味著,在創(chuàng)建對(duì)象的時(shí)候,會(huì)去使用編譯器生成的無(wú)參默認(rèn)構(gòu)造函數(shù)。

??內(nèi)置類型給默認(rèn)值
C++11中針對(duì)內(nèi)置類型成員不初始化的缺陷,打了補(bǔ)丁,即:內(nèi)置類型成員變量在類中聲明時(shí)可以給默認(rèn)值。

??示例:

class Time
{
public:
	Time()
	{
		cout << "Time()" << endl;
		_hour = 0;
		_minute = 0;
		_second = 0;
	}
private:
	int _hour;
	int _minute;
	int _second;
};
class Date
{
private:
	// 基本類型(內(nèi)置類型)
	int _year = 1970;//給默認(rèn)值
	int _month = 1;
	int _day = 1;
	// 自定義類型
	Time _t;
};
int main()
{
	Date d;
	return 0;
}

【C++雜貨鋪】構(gòu)造函數(shù)和析構(gòu)函數(shù),C++雜貨鋪,c++,java,jvm

??默認(rèn)構(gòu)造函數(shù)
我們沒(méi)寫(xiě)編譯器自動(dòng)生成的構(gòu)造函數(shù)無(wú)參構(gòu)造函數(shù)、全缺省構(gòu)造函數(shù),這三種都叫做默認(rèn)構(gòu)造函數(shù),它們都有一個(gè)共同的特點(diǎn):可以不用傳參。默認(rèn)構(gòu)造函數(shù)只能有一個(gè),后面?zhèn)z,在語(yǔ)法上可以構(gòu)成函數(shù)重載,但是在無(wú)參調(diào)用的時(shí)候,會(huì)發(fā)生歧義,出現(xiàn)調(diào)用不明確。
【C++雜貨鋪】構(gòu)造函數(shù)和析構(gòu)函數(shù),C++雜貨鋪,c++,java,jvm
注意:要把默認(rèn)構(gòu)造函數(shù)和默認(rèn)成員函數(shù)區(qū)分清楚,默認(rèn)成員函數(shù)是我們不寫(xiě)編譯器會(huì)自動(dòng)生成的,默認(rèn)構(gòu)造函數(shù)是不需要傳參的構(gòu)造函數(shù)。編譯器生成的構(gòu)造函數(shù),既是默認(rèn)構(gòu)造函數(shù),同時(shí)也是默認(rèn)成員函數(shù)。

??總結(jié)
一般情況下,都需要我們自己寫(xiě)構(gòu)造函數(shù)。如果滿足以下情況,即:內(nèi)置類型的成員變量都有默認(rèn)值,且初始化符合我們的要求,自定義類型都定義了默認(rèn)構(gòu)造,此時(shí)可以考慮不寫(xiě)構(gòu)造函數(shù),使用編譯器自動(dòng)生成的默認(rèn)構(gòu)造函數(shù)。自定義類型如果沒(méi)有對(duì)應(yīng)的構(gòu)造函數(shù),那就意味著初始化自定義類型需要傳參,此時(shí)必須自己寫(xiě)構(gòu)造函數(shù),并且還會(huì)用到初始化列表。

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

??定義
與構(gòu)造函數(shù)的功能相反,析構(gòu)函數(shù)不是完成對(duì)對(duì)象本身的銷毀,局部對(duì)象的銷毀工作是由編譯器完成的。而對(duì)象在銷毀的時(shí)候,會(huì)自動(dòng)調(diào)用析構(gòu)函數(shù),完成對(duì)象中資源的清理工作。

??特性

  • 析構(gòu)函數(shù)名是在類名前加上~。
  • 無(wú)參數(shù)無(wú)返回值類型。
  • 一個(gè)類只能有一個(gè)析構(gòu)函數(shù),若未顯式定義,系統(tǒng)會(huì)自動(dòng)生成默認(rèn)的析構(gòu)函數(shù)
  • 對(duì)象生命周期結(jié)束時(shí),C++編譯器自動(dòng)調(diào)用析構(gòu)函數(shù)。

小Tips:析構(gòu)函數(shù)不能重載。

??示例:

typedef int DataType;
class Stack
{
public:
	Stack(size_t capacity = 3)
	{
		_array = (DataType*)malloc(sizeof(DataType) * capacity);
		if (NULL == _array)
		{
			perror("malloc申請(qǐng)空間失敗!!!");
			return;
		}
		_capacity = capacity;
		_size = 0;
	}
	void Push(DataType data)
	{
		// CheckCapacity();
		_array[_size] = data;
		_size++;
	}
	// 其他方法...
	~Stack()//析構(gòu)函數(shù)
	{
		if (_array)
		{
			free(_array);
			_array = NULL;
			_capacity = 0;
			_size = 0;
		}
	}
private:
	DataType* _array;
	int _capacity;
	int _size;
};
void TestStack()
{
	Stack s;
	s.Push(1);
	s.Push(2);
}

【C++雜貨鋪】構(gòu)造函數(shù)和析構(gòu)函數(shù),C++雜貨鋪,c++,java,jvm

Stack中的成員變量_array、_capacity、_size都是內(nèi)置類型,所以在對(duì)象s生命周期結(jié)束要銷毀的時(shí)候,不需要資源清理,最后系統(tǒng)直接將其內(nèi)存回收即可,而_array指向的空間是在堆區(qū)上申請(qǐng)的,這塊空間不會(huì)隨著對(duì)象生命周期的結(jié)束而自動(dòng)釋放(歸還給操作系統(tǒng)),所以_array被回收后,就找不到動(dòng)態(tài)申請(qǐng)的那塊空間,會(huì)造成內(nèi)存泄漏,因此在對(duì)象銷毀前,要通過(guò)析構(gòu)函數(shù)去釋放成員變量_array指向的空間,這就是析構(gòu)函數(shù)的作用。

??編譯器生成的析構(gòu)函數(shù)干了什么?
我們不寫(xiě),編譯器會(huì)自動(dòng)生成一個(gè)析構(gòu)函數(shù)。該析構(gòu)函數(shù)對(duì)內(nèi)置類型不做處理,對(duì)自定義類型會(huì)去調(diào)用它的析構(gòu)函數(shù)。

??示例:

class Time
{
public:
	~Time()
	{
		cout << "~Time()" << endl;
	}
private:
	int _hour;
	int _minute;
	int _second;
};
class Date
{
private:
	// 基本類型(內(nèi)置類型)
	int _year = 1970;
	int _month = 1;
	int _day = 1;
	// 自定義類型
	Time _t;
};
int main()
{
	Date d;
	return 0;
}

【C++雜貨鋪】構(gòu)造函數(shù)和析構(gòu)函數(shù),C++雜貨鋪,c++,java,jvm
main方法中創(chuàng)建了Date對(duì)象d,而d中包含4個(gè)成員變量,其中_year、_month_day、三個(gè)是內(nèi)置類型成員,對(duì)象銷毀時(shí)不需要資源清理,最后系統(tǒng)直接將其內(nèi)存回收即可,而_t時(shí)Time類對(duì)象,在d銷毀時(shí),要將器內(nèi)部包含的Time類的_t對(duì)象銷毀,所以要去調(diào)用Time類的析構(gòu)函數(shù)。但是main函數(shù)中不能直接調(diào)用Time類的析構(gòu)函數(shù),實(shí)際銷毀的是Date類對(duì)象d,所以編譯器會(huì)調(diào)用Date類的析構(gòu)函數(shù),而Date類沒(méi)有顯示提供,則編譯器會(huì)給Date類生成一個(gè)默認(rèn)的析構(gòu)函數(shù),目的是在其內(nèi)部調(diào)用Time類的析構(gòu)函數(shù)。

??總結(jié)
一般情況下,有動(dòng)態(tài)申請(qǐng)資源,就需要顯式的寫(xiě)析構(gòu)函數(shù)來(lái)釋放資源,沒(méi)有動(dòng)態(tài)申請(qǐng)的資源,可以不寫(xiě)析構(gòu)函數(shù),需要釋放資源的成員都是自定義類型,也不需要寫(xiě)析構(gòu)函數(shù)。


??結(jié)語(yǔ):
?今天的分享到這里就結(jié)束啦!如果覺(jué)得文章還不錯(cuò)的話,可以三連支持一下,您的支持就是春人前進(jìn)的動(dòng)力!
【C++雜貨鋪】構(gòu)造函數(shù)和析構(gòu)函數(shù),C++雜貨鋪,c++,java,jvm文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-596120.html

到了這里,關(guān)于【C++雜貨鋪】構(gòu)造函數(shù)和析構(gòu)函數(shù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【JAVA雜貨鋪】一文帶你走進(jìn)面向?qū)ο缶幊蘾構(gòu)造方法調(diào)用 | 代碼塊分類| 期末復(fù)習(xí)系列 | (中3)

    【JAVA雜貨鋪】一文帶你走進(jìn)面向?qū)ο缶幊蘾構(gòu)造方法調(diào)用 | 代碼塊分類| 期末復(fù)習(xí)系列 | (中3)

    ??個(gè)人主頁(yè):? Aileen_0v0 ??系列專欄: Java學(xué)習(xí)系列專欄 ??個(gè)人格言:\\\" 沒(méi)有羅馬,那就自己創(chuàng)造羅馬~\\\" 上次,我們學(xué)習(xí)了關(guān)于Java面向?qū)ο缶幊痰?構(gòu)造方法 ,以及 this 在構(gòu)造方法/實(shí)例化對(duì)象中的使用,若有遺忘點(diǎn)擊???? 本節(jié)我們`來(lái)學(xué)習(xí),代碼塊,tostring以及繼承? 那還等什么

    2024年02月04日
    瀏覽(25)
  • 【C++雜貨鋪】一文帶你走進(jìn)哈希:哈希沖突 | 哈希函數(shù) | 閉散列 | 開(kāi)散列

    【C++雜貨鋪】一文帶你走進(jìn)哈希:哈希沖突 | 哈希函數(shù) | 閉散列 | 開(kāi)散列

    在 C++98 中,STL 提供了底層為紅黑樹(shù)結(jié)構(gòu)的一些列關(guān)聯(lián)式容器,在查詢時(shí)效率可以達(dá)到 O ( l o g 2 N ) O(log2^N) O ( l o g 2 N ) ,即最差情況下需要比較紅黑樹(shù)高度次,當(dāng)樹(shù)中的結(jié)點(diǎn)非常多的時(shí)候,查詢效率也不理想。最好的查詢是,進(jìn)行很少的比較次數(shù)就能夠?qū)⒃卣业剑虼嗽?/p>

    2024年02月08日
    瀏覽(20)
  • 【C++】:構(gòu)造函數(shù)和析構(gòu)函數(shù)

    【C++】:構(gòu)造函數(shù)和析構(gòu)函數(shù)

    如果一個(gè)類中什么成員都沒(méi)有,簡(jiǎn)稱為空類。 空類中真的什么都沒(méi)有嗎?并不是,任何類在什么都不寫(xiě)時(shí),編譯器會(huì)自動(dòng)生成以下6個(gè)默認(rèn)成員函數(shù)。 默認(rèn)成員函數(shù) : 用戶沒(méi)有顯式實(shí)現(xiàn),編譯器會(huì)生成的成員函數(shù)稱為默認(rèn)成員函數(shù) 。 這篇文章介紹的是 構(gòu)造函數(shù) 和 析構(gòu)函數(shù)

    2024年04月27日
    瀏覽(46)
  • C++篇----構(gòu)造函數(shù)和析構(gòu)函數(shù)

    C++篇----構(gòu)造函數(shù)和析構(gòu)函數(shù)

    在很多時(shí)候,當(dāng)寫(xiě)了初始化,動(dòng)態(tài)開(kāi)辟的,需要寫(xiě)銷毀函數(shù),寫(xiě)了銷毀函數(shù)之后,但是卻忘記了調(diào)用這些函數(shù),忘記調(diào)用初始化函數(shù)還好,編譯器會(huì)報(bào)錯(cuò),但是如果是忘記調(diào)用銷毀函數(shù),那么編譯器是不會(huì)報(bào)錯(cuò),但是不能說(shuō)這個(gè)程序就沒(méi)錯(cuò)哦了,反而有很大的問(wèn)題,存在內(nèi)存

    2024年02月01日
    瀏覽(30)
  • C++ 構(gòu)造函數(shù)和析構(gòu)函數(shù) 詳解

    C++ 構(gòu)造函數(shù)和析構(gòu)函數(shù) 詳解

    C++中用構(gòu)造函數(shù)和析構(gòu)函數(shù)來(lái)初始化和清理對(duì)象,這兩個(gè)函數(shù)將會(huì)被編譯器自動(dòng)調(diào)用。對(duì)象的初始化和清理是非常重要的,如果我們不提供構(gòu)造函數(shù)與析構(gòu)函數(shù),編譯器會(huì)自動(dòng)提供兩個(gè)函數(shù)的空實(shí)現(xiàn)。 構(gòu)造函數(shù):主要作用于創(chuàng)建函數(shù)時(shí)對(duì)對(duì)象成員的屬性賦值。 析構(gòu)函數(shù):主

    2024年02月02日
    瀏覽(45)
  • 【C++初階】構(gòu)造函數(shù)和析構(gòu)函數(shù)

    【C++初階】構(gòu)造函數(shù)和析構(gòu)函數(shù)

    ?? 默認(rèn)成員函數(shù) 用戶沒(méi)有顯式實(shí)現(xiàn),編譯器會(huì)自動(dòng)生成的成員函數(shù),稱為默認(rèn)成員函數(shù)。 構(gòu)造函數(shù) :完成對(duì)象的初始化工作。 析構(gòu)函數(shù) :完成對(duì)象空間的清理工作。 拷貝構(gòu)造 :使用同類對(duì)象初始化創(chuàng)建對(duì)象。 賦值重載 :把一個(gè)對(duì)象賦值給另外一個(gè)對(duì)象(該對(duì)象已存在

    2024年02月17日
    瀏覽(19)
  • C++初階——構(gòu)造和析構(gòu)函數(shù)

    目錄 1. 我們?cè)诮?jīng)常忘記寫(xiě)或者調(diào)用初始化函數(shù)使得棧類中的變量是隨機(jī)值,易出錯(cuò)有時(shí)忘記調(diào)用銷毀函數(shù),導(dǎo)致內(nèi)存泄漏 2.構(gòu)造函數(shù) 2.2 構(gòu)造函數(shù)的特性 3. 析構(gòu)函數(shù) 3.1 概念 3.2 特性 3.3 深入了解? 這里就引出了 構(gòu)造和析構(gòu)函數(shù) 2.1 特性: 函數(shù)名與類名相同 無(wú)返回值 對(duì)象實(shí)例化

    2024年02月14日
    瀏覽(25)
  • 『C++成長(zhǎng)記』構(gòu)造函數(shù)和析構(gòu)函數(shù)

    『C++成長(zhǎng)記』構(gòu)造函數(shù)和析構(gòu)函數(shù)

    ?? 博客主頁(yè): 小王又困了 ?? 系列專欄: C++ ?? 人之為學(xué),不日近則日退? ?? 感謝大家點(diǎn)贊??收藏?評(píng)論?? 目錄 一、類的六個(gè)個(gè)默認(rèn)成員函數(shù) ??1.1認(rèn)識(shí)默認(rèn)成員函數(shù)? 二、構(gòu)造函數(shù) ??2.1為什么要有構(gòu)造函數(shù) ??2.2構(gòu)造函數(shù)的概念 ??2.3構(gòu)造函數(shù)的特性 ??2.4編譯器

    2024年02月05日
    瀏覽(22)
  • 【C++雜貨鋪】模板

    【C++雜貨鋪】模板

    ?? 實(shí)現(xiàn)一個(gè)通用的交換函數(shù) 想要實(shí)現(xiàn)一個(gè)通用的交換函數(shù)不難,借助函數(shù)重載就可以。函數(shù)重載小伙伴們還記得嘛??,忘了的小伙伴可以走傳送門回去復(fù)習(xí)一下。如上面代碼所示,我們借助函數(shù)重載實(shí)現(xiàn)了三份 Swap 函數(shù),分別用來(lái)交換兩個(gè)整型變量、兩個(gè)雙精度浮點(diǎn)型變量

    2024年02月09日
    瀏覽(17)
  • 【C++雜貨鋪】引用

    【C++雜貨鋪】引用

    前言: ?相信大家在學(xué)習(xí)C語(yǔ)言的時(shí)候,最頭疼的就是指針,經(jīng)常會(huì)碰到一級(jí)指針、二級(jí)指針,這些指針使用起來(lái),稍有不慎就會(huì)等導(dǎo)致程序崩潰,為了讓廣大程序員少掉點(diǎn)頭發(fā),C++中提出了 引用 這一概念。當(dāng)然,在C++的代碼中,仍然可以兼容C語(yǔ)言的指針。 ?在語(yǔ)法上 引用

    2024年02月16日
    瀏覽(25)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包