Публикации по теме 'stl'


Изучение двусторонних очередей (Deque) в стандартной библиотеке шаблонов C++ (STL)
Двусторонние очереди, также известные как деки, являются важной структурой данных в информатике. В C++ Стандартная библиотека шаблонов (STL) класс deque обеспечивает универсальную реализацию двусторонних очередей. Деки сочетают в себе функции как стеков, так и очередей, позволяя эффективно вставлять и удалять элементы на обоих концах. В этой статье вы познакомитесь с контейнером deque в C++ STL, объясните его функциональность, преимущества и распространенные методы. Обзор Deque:..

Стандартная библиотека шаблонов C++ (STL): полный обзор
Стандартная библиотека шаблонов (STL) является неотъемлемой частью языка программирования C++. Это набор шаблонных классов и функций, которые предоставляют широкий спектр структур данных и алгоритмов для эффективной и многократно используемой разработки кода. STL состоит из четырех основных компонентов: алгоритмов, контейнеров, функций и итераторов. В этой статье мы подробно рассмотрим каждый из этих компонентов, выделив их особенности и преимущества. Алгоритмы : Алгоритмы STL..

Вопросы по теме 'stl'

Есть ли удобный способ обернуть std :: pair как новый тип?
Часто я использую std :: pair для определения логических группировок двух связанных величин в качестве аргументов функции / возвращаемых значений. Некоторые примеры: строка / столбец, тег / значение и т. Д. Часто мне действительно нужно...
3989 просмотров
schedule 05.05.2024

Как создать статическую функцию-член шаблона, которая выполняет действия с классом шаблона?
Я пытаюсь создать универсальную функцию, которая удаляет дубликаты из std :: vector. Поскольку я не хочу создавать функцию для каждого векторного типа, я хочу сделать ее шаблонной функцией, которая может принимать векторы любого типа. Вот что у меня...
48018 просмотров
schedule 18.05.2024

Переход с Microsofts STL на STLport
Я использую довольно много STL в критическом для производительности коде C ++ под Windows. Один из возможных «дешевых» способов повысить производительность - это перейти на более быструю библиотеку STL. Согласно этому сообщению , STLport быстрее...
12386 просмотров
schedule 14.10.2022

Преобразовать итератор в указатель?
У меня std::vector с n элементами. Теперь мне нужно передать в функцию указатель на вектор, который имеет последние n-1 элемента. Например, мой vector<int> foo содержит (5,2,6,87,251) . Функция принимает vector<int>* , и я...
107018 просмотров
schedule 16.05.2024

Проблема с линковкой при использовании stl в VS2005
Я только что добавил использование STL в какой-то код и получаю эту ошибку ссылки: ошибка LNK2019: неразрешенный внешний символ «public: __thiscall std :: _ Lockit :: ~ _Lockit (void)» Мне должно быть что-то не хватает в ссылке, я делал это...
988 просмотров
schedule 08.02.2024

Почему std ::nds приводит к сбою сравнения строк?
Вчера я потратил около 4 часов, пытаясь исправить эту проблему в своем коде. Я упростил задачу до примера ниже. Идея состоит в том, чтобы сохранить строку в строковом потоке, заканчивающемся на std ::nds, а затем извлечь ее позже и сравнить с...
2389 просмотров
schedule 24.11.2022

C++: присвоение значений прерывистым индексам в векторах?
Если я хочу объявить вектор неизвестного размера, присвойте значения индексу 5, индексу 10, индексу 1, индексу 100 в указанном порядке. Легко ли это сделать в векторе? Кажется, что нет простого пути. Потому что, если я инициализирую вектор без...
1938 просмотров
schedule 30.10.2022

карта.стирать(карта.конец())?
Рассмотреть возможность: #include <map> int main() { std::map< int, int > m; m[ 0 ] = 0; m[ 1 ] = 1; m.erase( 0 ); // ok m.erase( 2 ); // no-op m.erase( m.find( 2 ) ); // boom! } (Хорошо, так что в...
12962 просмотров
schedule 29.03.2024

Как я могу распечатать содержимое любого контейнера в общем виде?
Я пытаюсь написать кусок кода для удовольствия, используя шаблоны С++. #include <iostream> #include <vector> template <class Container> std::ostream& operator<<(std::ostream& o, const Container& container) {...
4285 просмотров
schedule 24.04.2024

Когда два элемента набора STL считаются идентичными?
С cplusplus.com: template < class Key, class Compare = less<Key>, class Allocator = allocator<Key> > class set; «Compare: класс сравнения: класс, который принимает два аргумента того же типа, что и элементы...
3836 просмотров
schedule 22.09.2022

Присоединение символьного буфера к вектору‹char› в STL
Каков правильный (и эффективный) способ присоединения содержимого буфера C ( char * ) к концу std::vector<char> ?
20154 просмотров
schedule 10.10.2022

Использование STL/Boost для поиска и изменения совпадающих элементов в векторе
Скажем, у меня есть вектор, объявленный следующим образом: struct MYSTRUCT { float a; float b; }; std::vector<MYSTRUCT> v; Теперь я хочу найти все элементы v, которые имеют одно и то же a, и усреднить их b, т.е. Скажем, v содержит...
2371 просмотров
schedule 31.12.2023

Можно ли использовать std::basic_string для реализации строки с ограничением длины?
Я работаю с низкоуровневым API, который принимает char* и числовое значение для представления строки и ее длины соответственно. Мой код использует std::basic_string и вызывает эти методы с соответствующим переводом. К сожалению, многие из этих...
2554 просмотров
schedule 23.04.2024

Добавление элементов в карту STL в списке инициализации конструкторов?
Мне было интересно, возможно ли это, и если да, то как я буду это делать. Если это невозможно, мне просто нужно добавить элементы во время тела конструктора. В идеале я хотел бы, чтобы карта оставалась неизменной после построения. Чего я...
7558 просмотров
schedule 19.01.2024

stl vector и c++: как изменить размер без конструктора по умолчанию?
Как указать STL, особенно для метода resize() в векторе, инициализировать объекты с помощью конструктора, отличного от используемого по умолчанию, и с какими параметрами? Например: class something { int a; something (int value); }...
13411 просмотров
schedule 20.02.2024

индекс или позиция в std::set
У меня есть std::set std::string. Мне нужен «индекс» или «позиция» каждой строки в наборе, имеет ли это значение в контексте? Я предполагаю, что find() вернет итератор в строку, поэтому мой вопрос лучше сформулировать так: «Как мне преобразовать...
19327 просмотров
schedule 07.11.2022

Сортировка std::list с помощью std::set
Я добавляю два разных элемента как в std::list, так и в std::set, и я хочу, чтобы std::list сортировался в том же порядке, что и std::set. один из способов, который я пробовал, - это когда элемент добавляется в std::set, найдите этот элемент, затем...
1007 просмотров
schedule 27.04.2024

Хранение объектов в векторе STL - минимальный набор методов
Что такое «минимальная структура» (необходимые методы) сложного объекта (с явно распределенными внутренними данными), который я хочу хранить в контейнере STL, например. <vector> ? Для моих предположений (пример сложного объекта Doit):...
1662 просмотров
schedule 11.10.2022

В чем смысл STL?
Я программировал на C ++ около года, и когда я смотрю, я вижу много ссылок на STL. Кто-нибудь, пожалуйста, скажите мне, что он делает? и преимущества и недостатки этого? и что это дает мне по сравнению с Borlands VCL или MFC? Благодарность
3137 просмотров
schedule 16.10.2022

Создание двоичного блока из структуры
Я надеюсь, что заголовок описывает проблему, я изменю его, если у кого-то есть идея получше. Я храню информацию в такой структуре: struct AnyStruct { AnyStruct() : testInt(20), testDouble(100.01), testBool1(true),...
177 просмотров
schedule 12.03.2024