私は、なぜ誰もがこれを書くと、思っていた。これに代えてiter_swapのポイントは何ですか?
std::iter_swap(i, k);
?
std::swap(*i, *k); // saved a few keystrokes!
は、その後、私はiter_swap
の実装に見て、私たちは、とにかく、namespace std
ですでにしているので、もちろんそれだけでswap
の代わりstd::swap
を使用しています。これに代えて
using std::swap;
swap(a, b);
:
なぜ誰もがこれを記述します。それは、次の質問に私をリード?
std::iter_swap(&a, &b); // saved an entire line of code!
私はここで見落としている重要な相違点はありますか?
コードを保存する価値があるかもしれません(複雑さを軽減するのは簡単です)...コードの*行*を保存しますか?非常に役に立たず、しばしば反生産的です。 –
いいえいいえ、あなたは 'std :: iter_swapを使って'をする必要があります。 iter_swap(i、k); 'iter_swapは特殊化されている可能性があるためです。 (ちょっと冗談だと思うよ。) – Potatoswatter
'iter_swap'の実装を見てきましたが、なぜそれを' std :: swap'で実装できないと思いますか? –