2017-08-02 38 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的缺陷分辨率,它被添加。