久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

[收藏]C++ Tips(2)

 shaolong007 2005-09-30
 
 
/*這一系列文章《C++ Tips》是公司Code Committee專家會推薦工程師看的,,感覺很好,,拿出來與大家共同提高。并不是知道多少會使人與人產(chǎn)生差別,,真正的差別在于你能做到多少,。
--coofucoo
*/
Code Committee專家會關注內存分配的使用:
1 建議new,delete,而不是malloc,free
2 new要判斷返回值,,經(jīng)常成功不代表一定成功
3 delete指針后盡量賦值NULL
 
我們先看一下下面的這段程序,,有這么一個程序段:
       class A
       {
       public:
           A() {   cout<<"A is here!"<<endl;   }
           ~A(){   cout<<"A is dead!"<<endl;   }
       private:
           int i;
       };
       A* pA=new A;
       delete pA;
 
實際上,這段程序里面隱含調用了一些我們沒有看到的東西,, 在這個簡單的程序段里面,,new/delete究竟做了些什么?那就是:
 
    static void* operator new(size_t sz);
    static void  operator delete(void* p);
 
這就是new可以申請很多種類型變量空間的原因,。

new A;實際上做了2件事:調用opeator new,,在自由存儲區(qū)分配一個sizeof(A)大小的內存空間;然后調用構造函數(shù)A(),。,,在這塊內存空間上類磚砌瓦,建造起我們的對象,。同樣對于delete,,則做了相反的兩件事:調用析構函數(shù)~A(),銷毀對象,,調用operator delete,,釋放內存。
 
運算符new和delete提供了存儲的動態(tài)分配和釋放功能,。它的作用相當于C語言的函數(shù)malloc()和free(),,但是性能更為優(yōu)越。使用new比使用malloc()有以下的幾個優(yōu)點
1,、new自動計算要分配類型的大小,,不使用sizeof運算符,比較省事,,可以避免錯誤,。
2、它自動地返回正確的指針類型,,不用進行強制指針類型轉換,。
3、可以用new對分配的對象進行初始化,。
 
不過需要注意的是,,new分配一塊內存的時候,,并沒有對這塊內存空間做清零等任何動作,delete同樣,。


本文引用通告地址: http://blog.csdn.net/coofucoo/services/trackbacks/480983.aspx
[點擊此處收藏本文]
發(fā)表于 2005年09月14日 11:15 PM

    本站是提供個人知識管理的網(wǎng)絡存儲空間,,所有內容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內容中的聯(lián)系方式,、誘導購買等信息,謹防詐騙,。如發(fā)現(xiàn)有害或侵權內容,,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多