:最後の行でstd :: uniqueはベクトルイテレータを無効にしますか?このコードの場合
std::vector<int> v = {...};
std::sort(v.begin(), v.end());
// Does this work?
std::size_t unique_count = std::unique(v.begin(), v.end()) - v.cbegin();
は、私はstd::unique
がちょうどベクトル内の周りに詰め込むを移動し、そこには何も挿入していないので、何のイテレータを無効にすべきではないと思うし、そう私は道unique_count
を計算することが正しいはずです。しかし、私はそれが事実であることを確認したい。それは...ですか?
いいえ、それはしません。 2つのイテレータを渡すだけなので、コンテナにアクセスすることさえできません。 – songyuanyao
@songyuanyaoだから、 'unique_count'は正しいです。右? –
はい、大丈夫でしょう。 – songyuanyao