本篇文章給大家分享的是有關(guān)C++使用new時的注意事項,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
成都創(chuàng)新互聯(lián)公司,專注為中小企業(yè)提供官網(wǎng)建設(shè)、營銷型網(wǎng)站制作、自適應(yīng)網(wǎng)站建設(shè)、展示型網(wǎng)站設(shè)計制作、成都做網(wǎng)站等服務(wù),幫助中小企業(yè)通過網(wǎng)站體現(xiàn)價值、有效益。幫助企業(yè)快速建站、解決網(wǎng)站建設(shè)與網(wǎng)站營銷推廣問題。
new其實就是告訴計算機開辟一段新的空間,但是和一般的聲明不同的是,new開辟的空間在堆上,而一般聲明的變量存放在棧上。通常來說,當(dāng)在局部函數(shù)中new出一段新的空間,該段空間在局部函數(shù)調(diào)用結(jié)束后仍然能夠使用,可以用來向主函數(shù)傳遞參數(shù)。另外需要注意的是,new的使用格式,new出來的是一段空間的首地址。所以一般需要用指針來存放這段地址。
如果在構(gòu)造函數(shù)中使用new來初始化指針成員,則應(yīng)在析構(gòu)函數(shù)中使用delete
new和delete必須相互兼容。new對應(yīng)于delete,new[]對應(yīng)于delete[]
如果有多個構(gòu)造函數(shù),則必須以相同的方式使用new,要么都帶中括號,要么都不帶。因為只有一個析構(gòu)函數(shù),所有的構(gòu)造函數(shù)都必須與它兼容。
與上面一條例外的是可以在一個構(gòu)造函數(shù)中使用new初始化指針,而在另一個構(gòu)造函數(shù)中將指針初始化為空,這是因為delete(無論是帶中括號還是不帶中括號)可以用于空指針。
C++傳統(tǒng)上更喜歡用簡單的0,而不是等價的NULL,但C++11的nullptr是更好的選擇。
以上就是C++使用new時的注意事項,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。