Какова этимология push_back в C ++? - PullRequest
5 голосов
/ 14 марта 2012

Каково обоснование для имени метода push_back в C ++ std::vector?Например, существует ли основанный на стеке источник (push является обычной операцией стека)?Существовала ли ранее существующая библиотека, которая использовала эти термины для добавления в последовательность?

Помимо общих терминов, которые используют другие API, такие как append и add, insert_end может показаться более внутренне самосогласованным(хотя front и back существуют в другом месте).

Ответы [ 2 ]

9 голосов
/ 14 марта 2012

Как вы упоминаете, push и pop являются общими именами для операций со стеком. Причина не только в push и pop в том, что он может быть совместим с другими контейнерами. std::vector реализует только push_back и pop_back, но есть также push_front и pop_front, например, std::list. Наличие последовательных имен полезно при написании универсальных функций.

1 голос
/ 14 марта 2012

Я бы предположил, что это из-за этих методов, облегчающих использование std::vector в качестве стека - если все, что вы делаете, это push_front(foo) и pop_front() (или обратный эквивалент), у вас есть стек .

...