我只是想知道,为什么会有人写出这样的东西:
std::iter_swap(i, k);
改为这个?
std::swap(*i, *k); // saved a few keystrokes!
然后我查看了iter_swap
的实现,当然它只使用swap
而不是std::swap
,因为我们已经在namespace std
中了。这就引出了下一个问题:
为什么会有人写出这样的代码:
using std::swap;
swap(a, b);
而不是这个吗?
std::iter_swap(&a, &b); // saved an entire line of code!
我有没有忽略掉任何重要的差异或问题?
using std::iter_swap; iter_swap(i, k);
,因为iter_swap
可能已经被专门优化了。(开玩笑的,我想。) - Potatoswatteriter_swap
的一种实现方式,但为什么你认为它不能使用std::swap
实现呢?请翻译。 - R. Martinho Fernandes