MSDN说:
swap应该优先使用iter_swap,它包含在C++标准中以便向后兼容.
swap
iter_swap
但是comp.std.c ++说:
大多数STL算法在迭代器范围上运行.因此,iter_swap在这些范围内交换元素时使用是有意义的,因为这是它的预期目的 - 交换两个迭代器指向的元素.这允许优化基于节点的序列,例如std::list,节点只是重新链接,而不是实际交换的数据.
std::list
哪一个是正确的?我应该使用iter_swap,还是应该使用swap?(iter_swap仅用于向后兼容吗?)为什么?
c++ swap
c++ ×1
swap ×1