我正在阅读C++入门并看到这两个似乎具有相同功能的函数.谁能帮忙告诉我两者有什么区别?谢谢.
reverse_copy
实际上以相反的顺序放置元素.
1 2 3 4 5 - > 5 4 3 2 1
copy_backward
只需向后复制元素,但保留其相对顺序.
1 2 3 4 5
首先复制5,但放在最后一个位置.所以你的输出仍然是:
1 2 3 4 5
http://en.cppreference.com/w/cpp/algorithm/copy_backward
将范围(由[first,last]定义)复制到另一个以d_last结尾的范围.元素以相反的顺序复制(最后一个元素被复制),但保留了它们的相对顺序.
http://en.cppreference.com/w/cpp/algorithm/reverse_copy
将范围[first,last]中的元素复制到从d_first开始的另一个范围,使新范围中的元素的顺序相反.