[問題] C++ primer 4/e中文版 p.496
此頁的參用計數class
class U_Ptr{
friend class Hasptr;
int *ip;
size_t use;
U_Ptr(int *p): ip(p), use(1) {}
~U_Ptr() {delete ip;}
};
為什麼這邊會直接delete? delete一個沒用動態配置的物件不是會有問題嗎?
我實際編譯也出問題,拿掉delete那行才通過編譯。
還是說他本來是想寫以下:
class U_Ptr{
friend class Hasptr;
int *ip;
size_t use;
U_Ptr(int *p): ip(new int(*p)), use(1) {}
~U_Ptr() { delete ip; }
};
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.229.135.40
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1464372744.A.13A.html
※ 編輯: ko27tye (36.229.135.40), 05/28/2016 02:13:58
推
05/28 03:20, , 1F
05/28 03:20, 1F
→
05/28 03:20, , 2F
05/28 03:20, 2F
→
05/28 03:21, , 3F
05/28 03:21, 3F
→
05/28 03:22, , 4F
05/28 03:22, 4F
→
05/28 07:11, , 5F
05/28 07:11, 5F
→
05/28 07:12, , 6F
05/28 07:12, 6F
→
05/28 07:12, , 7F
05/28 07:12, 7F
→
05/28 07:12, , 8F
05/28 07:12, 8F
→
05/28 07:13, , 9F
05/28 07:13, 9F
→
05/28 07:13, , 10F
05/28 07:13, 10F
所以是確保p扔進來前有用動態配置就行了是嗎?
※ 編輯: ko27tye (36.229.135.40), 05/28/2016 10:59:14
※ 編輯: ko27tye (36.229.135.40), 05/28/2016 11:16:05
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章