2017-08-17 36 views

回答

2

copy_if只有滿足給定謂詞,remove_copy_if,另一方面僅複製元素滿足特定謂詞的副本元素。因此這兩個功能相互補充,他們不這樣做。

順便copy_if也有類似的聲明The behavior is undefined if the source and the destination ranges overlap.因此它可能不會被檢查,但它是非常糟糕的主意,讓源和目的地重疊。

+0

假設謂詞邏輯上可以顛倒,兩個函數的結果是相同的,不是嗎? – camelCase

+0

是的,結果是一樣的。並且每個謂詞可以通過向其返回值添加一個'!'來邏輯反轉。不過,你在說什麼? –

+0

現在它有點清楚了,但我認爲我理解它的主要問題是使用算法remove_copy的名稱,就像承諾給我們某些東西從初始序列中刪除然後複製。感謝解釋! – Anton