1. 程式人生 > >C++內存管理

C++內存管理

構造對象 原型 std www malloc 不同 十個 pointer cast

參考:

如何實現一個malloc:http://blog.jobbole.com/75656/  細說new與malloc的十個不同:http://www.linuxidc.com/Linux/2016-01/127591.htm

malloc在c libarariy中的原型:http://www.cplusplus.com/reference/cstdlib/malloc/

c動態內存管理

void *malloc(size_t size),向系統申請size bytes(字節)大小的內存,成功返回一個void*指針(因為申請的內存區域是無類型的, 未初始化),指向首地址,失敗返回一個null pointer,size=0返回值依賴於庫實現。使用申請的內存構造對象需要把void*指針cast為對應指針,如 char*p = (char *)malloc(100))(100個bytes) ,這種100個字節創建多少個char呢?可用char *p=(char*) malloc(100*sizeof(char))申請100個char內存。

C++內存管理