首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

operator delete(void* size_t)第二个形参如何用呢

2013-01-05 
operator delete(void*, size_t)第二个形参怎么用呢?说是保存继承层次中实际类型大小,但释放内存又用不着。

operator delete(void*, size_t)第二个形参怎么用呢?
说是保存继承层次中实际类型大小,但释放内存又用不着。
[解决办法]
特殊的语法是为特殊的场合设定。
你又不可能遇到这样的场合的,折腾它又何必呢。

[解决办法]

引用:
引用:倒,人家谦虚你也能当真。
需要预分配的类用到operator new是极不常见的。我以为真是primer。。。
那一般预分配怎么实现呢?书上卖萌说预分配就operator new,囧

卖萌。。。明明?
书没看过不清楚。不过operator new/delete非标准库规定的签名的具体语义取决于实现作者……(即便是标准库给出的都可以替换定义)。
至于allocator……ISO C++有allocator requirements决定接口形式:调用a.allocate(n, u)的u作为unspecified的hint倒是可以完全不用;调用a.deallocate(p, n)的n必须和allocate里的对上。只不过用::operator delete这种实现确实用不上n而已,因为::operator new必须已经知道n了。

热点排行