C 11智慧型指標處理Array物件

2021-09-06 06:14:28 字數 671 閱讀 5567

//

c++11的中有一整套智慧型指標,

//完全可以避免寫手動的delete**,

//但是它預設使用delete刪除物件,

//如果是陣列物件,需要指定自定義的刪除方法,支援delete

std::shared_ptr<

int> p(

newint[

10],

(int* p));

//或者使用helper

std::shared_ptr<

int> p(

newint[

10],std::default_delete<

int>()); 

unique_ptr跟shared_ptr不一樣,它直接支援持有陣列物件

std::unique_ptr<

int> p(

newint[

10]);

//okstd::shared_ptr<

int> p(

newint[

10]);

//error, does not compile

std::unique_ptr<

int, 

void(*)(

int*)> p(

newint[

10], (

int* p));

C 11智慧型指標處理Array物件

c 11的中有一整套智慧型指標,完全可以避免寫手動的delete 但是它預設使用delete刪除物件,如果是陣列物件,需要指定自定義的刪除方法,支援delete std shared ptr int p newint 10 int p 或者使用helper std shared ptr int p ...

C 11智慧型指標處理Array物件

c 11的中有一整套智慧型指標,完全可以避免寫手動的delete 但是它預設使用delete刪除物件,如果是陣列物件,需要指定自定義的刪除方法,支援delete std shared ptr p new int 10 int p 或者使用helper std shared ptr p new int...

C 11智慧型指標

本文介紹c 的四種智慧型指標,其中後三種是c 11新增加的,auto ptr已被棄用。要編譯c 11,需要安裝g 4.8 sudo add apt repository ppa ubuntu toolchain r test sudo apt get update sudo apt get inst...