[問題] operator new[] 和 delete[] 混用
(C++ Primer p760, operator new != new)
由於特殊需求,要加強效率,在配置空間時,
不必呼叫 constructor (會浪費時間)
但釋放時,又必須呼叫 destructor
T* data = static_cast<T*>(operator new[](size * sizeof(T)));
delete []T;
我想問的是,delete 是否不能這樣寫?
會不會有 undefined behavior ?
還是一定要用 operator delete[](T); ?
這樣又要如何呼叫 destructor 呢囧 謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.245.11
推
05/22 10:56, , 1F
05/22 10:56, 1F
→
05/22 10:58, , 2F
05/22 10:58, 2F
→
05/22 11:24, , 3F
05/22 11:24, 3F
→
05/22 11:36, , 4F
05/22 11:36, 4F
推
05/22 12:50, , 5F
05/22 12:50, 5F
→
05/22 12:51, , 6F
05/22 12:51, 6F
推
05/22 13:52, , 7F
05/22 13:52, 7F
→
05/22 13:53, , 8F
05/22 13:53, 8F
→
05/22 13:54, , 9F
05/22 13:54, 9F
推
05/22 14:05, , 10F
05/22 14:05, 10F
推
05/22 17:49, , 11F
05/22 17:49, 11F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 4 篇):