假设我使用一个结构要在堆上分配,并且用作重载新数组运算符有多安全?
- 新[]和删除[]
- shared_ptr的(新[])
然后可以我简单过载其新的数组运算符并不触及任何删除[]运算符
struct alignas(256) MyStruct
{
Item i1,i2;
void * operator new[](unsigned long int size)
{
return aligned_alloc(256,size);
}
void * operator new (unsigned long int size)
{
return aligned_alloc(256,size);
}
};
并认为它没有任何泄漏?
GCC 6.3和C++ 0X。
为什么你认为你不需要提供'delete'和'删除[]'呢? – geza
它不是叫free()吗? free()对于各种_alloc_命令是否足够了? –
'it'是什么意思?谁应该叫'free()'? – geza