我正在閱讀C++ primer,看到這兩個函數似乎具有相同的功能。任何人都可以幫助並告訴我兩者有何區別?謝謝。copy_backward和reverse_copy之間的區別?
5
A
回答
6
reverse_copy
實際上是將元素倒序排列。
1 2 3 4 5 - > 5 4 3 2 1
copy_backward
只是向後複製元素,但保留了它們的相對順序。
1 2 3 4 5
5先被複制,但放在最後一個位置。所以,你的輸出仍然是:從範圍在d_last結束
1 2 3 4 5
http://en.cppreference.com/w/cpp/algorithm/copy_backward
複製元素,通過[第一,最後定義),另一個範圍。元素按相反順序複製(最後一個元素先被複制),,但它們的相對順序保留爲。
http://en.cppreference.com/w/cpp/algorithm/reverse_copy
副本從範圍[第一,最後的元素)到另一個範圍以這樣的方式,在新的範圍的元素是按相反的順序在d_first開始。
1
副本從所述範圍中的元素,通過[第一,最後所定義的),以結束d_last另一個範圍。元素以相反順序複製(最後一個元素先被複制),但是它們的相對順序被保留。
副本從範圍[第一,最後的元素)到另一個範圍以這樣的方式,在新的範圍的元素是按相反的順序在d_first開始。
所以不同的是,std::copy_backwards
開始複製在結束工作向後,保持原來的位置,而std::reverse_copy
開始之初前進複製,而是把它們以相反的順序。
相關問題
- 1. 之間的〜/和的區別../
- 2. '#','%'和'$'之間的區別
- 3. {!!之間的區別!!}和{{}}
- 4. '+ ='和'= +'之間的區別?
- 5. 「。+」和「。+?」之間的區別
- 6. .eq之間的區別。和==
- 7. #。/和#之間的區別。 ./
- 8. !=和!之間的區別==
- 9. 「%〜dp0」和「。\」之間的區別?
- 10. | =和^ = css之間的區別
- 11. 之間的區別。和#
- 12. ==和case之間的區別?
- 13. 「**/* /」和「** /」之間的區別?
- 14. jQuery - '。'之間的區別和「#」
- 15. 「?1」和「?」之間的區別
- 16. `%in%`和`==`之間的區別
- 17. fmod和%之間的區別
- 18. 之間的區別:+和:+
- 19. 類區域和堆之間的區別
- 20. SPFile和PublishingPage類別之間的區別
- 21. 子類和類別之間的區別?
- 22. System.Timers.Timer Enabled = true和.Start()之間的區別Enabled = true和.Start()之間的區別
- 23. isForeground()和onExposed和onObscured之間的區別
- 24. $ .ajax()和$ .get()和$ .load()之間的區別
- 25. 和intent和setcontentview之間的區別
- 26. Java和C#和.NET之間的區別
- 27. NSthread和NStimer和NSNotifcation之間的區別?
- 28. sys.log()和console.log()和console.error()之間的區別?
- 29. 關注與責任之間的區別(即SRP和SoC之間的區別)?
- 30. make中的「$(shell ...)」和「$$(...)」之間的區別
您應該將此網站加入書籤:http://en.cppreference.com/w/供將來使用。 –