2012-03-14 3 views
4

C++のpush_backメソッド名の根拠は何ですか?std::vector?たとえば、スタックベースの起点がありますか(pushは一般的なスタック操作ですか)?シーケンスに追加するためにこれらの用語を使用した既存のライブラリがありましたか?C++のpush_backの語源は何ですか?

frontbackが他の場所に存在しないが)他のAPIがappendaddのように使用する一般的な用語のほか、insert_endは、より多くの内部的に自己整合するように思われます。

+0

std :: vectorには 'push_front'がありますか? –

+5

'push_back'に' append'を使用した場合、 'pop_back'とは何でしょうか? '依存する? –

+0

ありがとう@Jesse。私はpush_frontを解析してpush_backを解析する方法を覚えておかなければならず、push_frontはベクトルに含まれていません。 Q: – xan

答えて

9

あなたが言及したように、pushpopはスタック操作の一般的な名前です。 pushpopでない理由は、他のコンテナと一貫性があるからです。 std::vectorpush_backpop_backのみを実装していますが、std::listにはpush_frontpop_frontもあります。一貫した名前を持つことは、汎用関数を記述するときに便利です。

+1

+1 *プログラマーの脳、一貫した命名は良いです。 –

+0

私は本当になぜベクトル(またはリスト)のプッシュとポップの部分に興味がありましたが、うまくいきませんでした。 – xan

0

これは、std::vectorをスタックとして使用しやすくしていると思われます。すべてがpush_front(foo)pop_front()(またはそれに相当するもの)であれば、スタックを取得できます。

+0

'std :: vector'は' push_front'と 'pop_front'演算を持っていません(委員会は単純化して、効率的に4番目のメンバーを使っていました) –

関連する問題