Результаты поиска по запросу "stl"

13 ответов

Почему C ++ STL не предоставляет никаких «древовидных» контейнеров?

Почему C ++ STL не предоставляет никаких «древовидных» контейнеров, и что лучше вместо этого использовать? Я хочу хранить иерархию объектов в виде дерева, а не использовать дерево для повышения производительности ...

18 ответов

Конкатенация двух стандартных: векторов

Как мне соединить дваstd::vectors?

6 ответов

«Много кода на C ++, без исключений из среды выполнения» Мне кажется, это противоречит. В C ++ явно есть исключения: если ваша платформа не поддерживает это, вы не используете C ++, вы используете специфическую для реализации производную C ++.

у std :: stack :: pop () не генерирует исключение, если стек пуст и нечего выдавать? (Я разрабатываю специализированный стек для своего собственного кода и хотел бы узнать о компромиссах с этим подходом (который требует проверки вручную, ...

ТОП публикаций

2 ответа

Я говорю, что не доверяю никаким методам, вызываемым по ссылке на rvalue, чтобы не модифицировать объект, и я считаю, что делать это глупо. (Кроме того, ваш код ломается, если контейнер содержит ровно один элемент.)

йнеры C ++ 98 определили два типа итераторов,::iteratorс и::const_iterators, Как правило, так: struct vec{ iterator begin(); const_iterator begin() const; };В C ++ 11 эта часть дизайна кажется неизменной. Вопрос в том,для последовательности и ...

3 ответа

Да, это то, что я сначала подумал, но это доставляло мне странные проблемы, поэтому я использовал спешку. Но я согласен, что это не обязательно.

ьзование алгоритмов STL (насколько это возможно), таких какremove_if() а такжеlist::eraseЕсть хороший способ удалить дубликаты из списка, определенного следующим образом: list<int> l; Обратите внимание, чтоlist::unique() работает только если ...

5 ответов

Попробуйте еще раз - вы правы. Адаптеры содержат коллекцию быть значением, а не ссылкой, а конструкторы адаптеров принимают константную ссылку на коллекцию для инициализации. Интересно, что в VS2008 член "c" очереди является публичным! Это защищено в priority_queue.

ибудь знает, почему std :: queue, std :: stack и std :: priority_queue не предоставляютclear() функция-член? Я должен подделать один такой: std::queue<int> q; // time passes... q = std::queue<int>(); // equivalent to clear()IIRC,clear() ...

2 ответа

использование соединения также не делает недействительными итераторы, в то время как это делает

я уже есть указатель списка CDrawObject * std::list<CDrawObject*> elements;Как я могу переместить какой-то элемент в конец списка. понятноСправочник по алгоритмам STL [http://www.cplusplus.com/reference/algorithm/]но я не нахожу эту операцию. ...

3 ответа

, есть более голые математические концепции.

есно, есть ли альтернативаstd :: vector в C?я нашелэта реализация [http://codingrecipes.com/implementation-of-a-vector-data-structure-in-c]но, похоже, он содержит некоторые проблемы с перераспределением памяти.

1 ответ

Это случилось со мной, провел час, играя с картами, и снова и снова получаю эту ошибку. Я подумал: «Почему каждый пример в Интернете терпит неудачу!». Оказывается, я забыл чертов заголовок строки. Я чувствую себя немного глупо сейчас ....

ел бы иметь std :: map (int .NET 4.0). Мы, конечно, знаем, что карта является деревом и требует оператора <эта строка не определяет для нас. Ошибка 24, ошибка C2676: двоичный файл «<»: «const std :: string» не определяет этот оператор или ...

1 ответ

Не имеет значения здесь. Постер, по-видимому, все равно будет использовать строки в стиле С.

std::stringпечиваетconst char * c_str () const [http://www.cplusplus.com/reference/string/string/c_str.html]который: Получить строковый эквивалент C Создает завершенную нулем последовательность символов (c-string) с тем же содержимым, что и ...