C++基本函數(shù)代碼示例
C++編程語言中有很多比較重要的函數(shù)在我們的實(shí)際程序開發(fā)中體現(xiàn)著非常重要的作用。我們在這里就為大家總結(jié)了三款比較常用的C++基本函數(shù),大家可以從中對C++編程語言中的函數(shù)有一個(gè)全面的了解。#t#
談到析構(gòu)函數(shù)時(shí),幾乎所有的我身邊的參考書無一例外地只用了一點(diǎn)點(diǎn)篇幅,但Big C++名副其實(shí)地難得啰里巴嗦地命中了要害一次
質(zhì)量提示18.4:如果有析構(gòu)函數(shù),那么也應(yīng)有拷貝構(gòu)造函數(shù)及賦值運(yùn)算符(三個(gè)基本函數(shù))
對于管理堆內(nèi)存的類,必須實(shí)現(xiàn)這三個(gè)函數(shù)
舉例:
- //String 類非標(biāo)準(zhǔn)string類,為個(gè)人創(chuàng)造的類,其中沒有定義拷貝構(gòu)造函數(shù)
- String a = "GG"; //分配堆
- 局部作用域{
- String b =a; //錯(cuò)誤,按成員復(fù)制會產(chǎn)生共享堆
- }//局部作用域結(jié)束,調(diào)用析構(gòu)函數(shù)b.~String(),堆空間被刪除
- //此時(shí)a的堆空間已被b的析構(gòu)函數(shù)刪除
一般常見的構(gòu)造模式:
C++基本函數(shù)之拷貝構(gòu)造函數(shù)
- X::X (const X& right){
- copy(right);
- }
C++基本函數(shù)之賦值運(yùn)算符重載
- X& X::operator=(const X& right){
- if (this !=&right){
- free();
- copy(right);
- }
- return *this;
- }
C++基本函數(shù)之析構(gòu)函數(shù)
- X::~X(){
- free()
- }