- 在C語言中响牛,使用malloc開辟堆內(nèi)存時(shí),都不會(huì)對(duì)內(nèi)存進(jìn)行初始化查蓉,如果直接使用乌询,可能會(huì)獲取到奇奇怪怪的值。一般我們還會(huì)在后一句使用memset(p, 0, size)函數(shù)進(jìn)行內(nèi)存的清零初始化操作豌研。
- C++在new時(shí)的初始化的規(guī)律為:
1妹田、對(duì)于有自己寫構(gòu)造函數(shù)的類,不論類型名后面有沒有括號(hào)鹃共,都用構(gòu)造函數(shù)進(jìn)行初始化鬼佣;
2、如果沒有構(gòu)造函數(shù)及汉,則不加括號(hào)的new只分配內(nèi)存空間沮趣,不進(jìn)行內(nèi)存的初始化,
3坷随、而加了括號(hào)的new會(huì)在分配內(nèi)存的同時(shí)初始化為0房铭。
- 所以一般我們最好都在類型名加括號(hào)進(jìn)行初始化
Class *p = new Class();