日本精品aⅴ一区二区三区|国产欧美一二三区|国产乱码精品精|国产精品电影在线免费

      1. <blockquote id="utafg"><th id="utafg"></th></blockquote>
    1. <div id="utafg"></div>
        <blockquote id="utafg"><th id="utafg"></th></blockquote>

        <menuitem id="utafg"></menuitem>
      1. 您現(xiàn)在的位置是:首頁 >綜合 > 2023-08-01 10:38:31 來源:

        del和delete鍵的區(qū)別(delete與 delete []區(qū)別)

        導(dǎo)讀 大家好,我是小小根,我來為大家解答以上問題。del和delete鍵的區(qū)別,delete與 delete []區(qū)別很多人還不知道,現(xiàn)在讓我們一起來看看吧!1...

        大家好,我是小小根,我來為大家解答以上問題。del和delete鍵的區(qū)別,delete與 delete []區(qū)別很多人還不知道,現(xiàn)在讓我們一起來看看吧!

        1、delete只會(huì)調(diào)用一次析構(gòu)函數(shù),而delete[]會(huì)調(diào)用每一個(gè)成員的析構(gòu)函數(shù)。在More Effective C++中有更為詳細(xì)的解釋:“當(dāng)delete操作符用于數(shù)組時(shí),它為每個(gè)數(shù)組元素調(diào)用析構(gòu)函數(shù),然后調(diào)用operator delete來釋放內(nèi)存?!眃elete與new配套,delete []與new []配套

        2、MemTest *mTest1=new MemTest[10];

        3、MemTest *mTest2=new MemTest;

        4、Int *pInt1=new int [10];

        5、Int *pInt2=new int;

        6、delete[]pInt1; //-1-

        7、delete[]pInt2; //-2-

        8、delete[]mTest1;//-3-

        9、delete[]mTest2;//-4-

        10、在-4-處報(bào)錯(cuò)。

        11、這就說明:對(duì)于內(nèi)建簡單數(shù)據(jù)類型,delete和delete[]功能是相同的。對(duì)于自定義的復(fù)雜數(shù)據(jù)類型,delete和delete[]不能互用。delete[]刪除一個(gè)數(shù)組,delete刪除一個(gè)指針。簡單來說,用new分配的內(nèi)存用delete刪除;用new[]分配的內(nèi)存用delete[]刪除。delete[]會(huì)調(diào)用數(shù)組元素的析構(gòu)函數(shù)。內(nèi)部數(shù)據(jù)類型沒有析構(gòu)函數(shù),所以問題不大。如果你在用delete時(shí)沒用括號(hào),delete就會(huì)認(rèn)為指向的是單個(gè)對(duì)象,否則,它就會(huì)認(rèn)為指向的是一個(gè)數(shù)組。

        本文到此講解完畢了,希望對(duì)大家有幫助。