1. ホーム
  2. c++

[解決済み] std::vector::push_front() はなぜ存在しないのですか?重複] [重複] [重複] [重複

2022-03-08 22:14:52

質問

以降 std::vector::push_back() が存在するのに、なぜ std::vector::push_front() も存在するのでしょうか?

他にも、ほとんど同じように動作するストレージオブジェクトがあり、両方の実装があることは知っています。 push_back()push_front() という関数があるのですが、その理由が気になりました。 std::vector がないんです。

解決方法は?

ベクターにpush_frontをするのは絶対にやめましょう。ある要素を前に加えることは、ベクター内の他のすべての要素を1要素後ろに移動させることを意味します。O(n) コピー。ひどいパフォーマンスです。