2017-08-02 58 views
0

我的印象是,对分配函数的调用将产生一个指向内存块(A)开始的指针,这样所有后续调用都会分配一个与A分离的内存块。但是我尚未找到该需求(或涉及此的要求)在C++ 14规范(ISO/IEC 14882:2014(E))中,特别是§3.7.4.1。分配的内存块不相交?

问题:它是规范的一部分,如果是的话,我在哪里可以找到它?

+0

为了澄清,你是否试图验证两个对象不可能动态分配到相同的内存? – GManNickG

+0

@GManNickG是(基于规范) – Adam

回答

2

它在[basic.stc.dynamic.allocation]/2: “分配函数” 的要求:

此外,对于库分配函数在[new.delete.single]和[新.delete.array],p0应表示存储器中与存储器脱节的存储块的地址,以便调用者可访问的任何其他对象。

请注意,这是来自C++ 17草案N4659。 C++ 14的N4140草稿文件不包含此内容;由于CWG issue 1338的缺陷分辨率,它被添加。