Описание тега stl
Стандартная библиотека шаблонов или STL - это библиотека универсальных контейнеров, итераторов, алгоритмов и функциональных объектов C++. Когда C++ был стандартизирован, большие части STL были включены в Стандартную библиотеку, и эти части в Стандартной библиотеке также иногда ошибочно называются вместе "STL".
1
ответ
Усиление черт, чтобы проверить, является ли объект контейнером STL
Я выполняю рефакторинг библиотеки сериализации в моем проекте, чтобы она компилировалась с -std=c++11 и хотите определить, является ли объект контейнером STL, например is_stl_deque<T>::value is_stl_list<T>::value is_stl_vector<T>::…
21 авг '14 в 07:05
2
ответа
C++ STL - вручную, используя стандартные GDB красивые принтеры
Как я могу использовать StdVectorPrinter из https://github.com/gcc-mirror/gcc/blob/gcc-6_3_0-release/libstdc%2B%2B-v3/python/libstdcxx/v6/printers.py чтобы создать свой собственный вывод стиль?Т.е. использовать существующие инструменты для доступа к…
17 авг '18 в 20:15
3
ответа
Использование внутренней реализации красно-черного дерева в STL
Я понимаю, что мой STL (который поставляется с g++ 4.xx) использует красно-черные деревья для реализации контейнеров, таких как карта. Можно ли использовать внутреннее красно-черное дерево STL напрямую. Если так, то как? Если нет, то почему нет - по…
08 июл '12 в 06:28
1
ответ
Visual C++ 2010 отображать / устанавливать итераторы несовместимы
Я вырываю свои волосы с этой ошибкой. Это функция поиска адресов в таблице символов для отладчика в эмуляторе 8080. Идея такова: у меня есть таблица символов с адресами и метками, и функция this берет адрес и пытается найти ближайший символ на задан…
05 май '14 в 21:00
1
ответ
Как использовать контейнер STL для хранения шаблонов на основе shared_ptr?
Я хочу создать контейнер для хранения shared_ptrs, которые основаны на шаблонах. Например, у меня есть: template <class T> class Data { .... }; template <class T> struct DataPtr { typedef boost::shared_ptr<Data<T> > type; }; …
06 фев '14 в 02:23
2
ответа
C++ std::map, как получить доступ к ключам по местоположению индекса
Я хотел бы использовать C++ std::map чтобы получить доступ к значению, связанному с данным ключом в log (n) времени. Так как ключи std::map отсортированы, технически я могу получить доступ к ключам по расположению в отсортированном порядке. Я знаю, …
21 мар '18 в 22:42
5
ответов
Как создать итератор для элементов, соответствующих производному типу в C++?
Я хотел бы итератор в C++, который может перебирать только элементы определенного типа. В следующем примере я хочу выполнять итерации только для элементов, которые являются экземплярами SubType. vector<Type*> the_vector; the_vector.push_back(n…
21 апр '09 в 19:46
3
ответа
Как stable_partition является адаптивным алгоритмом?
stable_partition - это шаблон функции, присутствующий в заголовочном файле алгоритма C++ STL. Я читал, что это адаптивный алгоритм, и его временная сложность составляет O(n*logn) или O(n) в зависимости от некоторых факторов. Может кто-нибудь объясни…
04 фев '14 в 14:03
4
ответа
Можно ли получить один элемент набора в C++ STL?
У меня есть следующий код C++ с вектором C++ STL, #include <iostream> #include <vector> using namespace std; int main () { vector <int> v; for (int i=0; i<15; i++) v.push_back (i); cout << v[10] << endl; return 0; } …
31 май '17 в 15:22
1
ответ
Найдите путь к заголовкам STL, используемым в g++
Мне нужно найти что-то в отладочной версии std::vector<T>и я не могу вспомнить, где на самом деле находятся заголовки. Это под MSYS на Windows, где это сложно, потому что у вас есть /include, /mingw/include, /mingw/mingw32/include, /usr/includ…
14 янв '14 в 10:05
1
ответ
Двойная> строка> двойное преобразование
Для передачи данных по сети я конвертирую значение double в строку, отправляю его и на стороне получателя преобразую обратно в значение double. Все идет нормально. Но я наткнулся на какое-то странное поведение, которое я не могу объяснить Весь приме…
12 окт '11 в 15:53
4
ответа
C++ char массив вне области видимости или нет?
У меня есть метод, который требует указателя const char в качестве входных данных (не завершается нулем). Это требование библиотеки (TinyXML), которую я использую в своем проекте. Я получаю входные данные для этого метода из вызова метода string.c_s…
12 май '09 в 00:15
4
ответа
Использование памяти учетной записи с помощью специального распределителя
Я использую пользовательский распределитель для учета использования памяти в нескольких контейнерах. В настоящее время я использую статическую переменную для учета использования памяти. Как можно разделить эту учетную запись на несколько контейнеров…
27 окт '09 в 09:22
1
ответ
C++ Как добавить очередь unique_ptr в вектор
Упрощенный код: #include <queue> #include <memory> #include <vector> class Foo { public: Foo() {}; virtual ~Foo() {} }; int main() { std::queue<std::unique_ptr<Foo>> queue; auto element = std::make_unique<Foo>(); …
05 июн '18 в 01:10
3
ответа
Разница в производительности между map и unordered_map в C++
У меня есть простое требование, мне нужна карта типа. Однако мне нужно самое быстрое теоретически возможное время поиска. Я использовал и карту, и новый предложенный unordered_map из tr1. Я обнаружил, что, по крайней мере, при разборе файла и создан…
28 фев '10 в 06:02
2
ответа
Итератор begin() должен содержать 3, вывод говорит 2?
Почему итератор, указывающий на начало списка, выводит второе значение? Почему a.begin()++ покидает begin () впереди и есть ли лучшая реализация? #include <iostream> #include <list> using namespace std; //3,2,1 int main() { list<int&g…
03 дек '15 в 18:24
2
ответа
C++ STL copy_backward вопрос
int main () { vector<int> myvector; vector<int>::iterator it; // set some values: for (int i=1; i<=5; i++) myvector.push_back(i*10); // myvector: 10 20 30 40 50 myvector.resize(myvector.size()+3); // allocate space for 3 more elements…
02 авг '11 в 21:57
2
ответа
Использует ли побитовая операция (&, ^. | И т. Д.), Предоставляемая в качестве перегрузки операторов в std::bitset, инструкции AVX или SSE4?
Поскольку это зависит от реализации, единственный ли способ выяснить это - разборка?
05 окт '16 в 22:19
0
ответов
Ошибка при удалении элемента в мультисете с ++
Я класс с переменной члена, которая multiset < pair<TrainType, map<string, set<tm>>>> m_oTrainGraphic; TrainType - это enum. Я вставляю некоторые элементы в m_oTrainGraphic Контейнер. У меня есть метод, который принимает пара…
02 май '18 в 16:08
2
ответа
Boost или stl api для хеширования массива строк в виде строки => индекс-массива
Я ищу повышение или STL API, который имитирует этот: https://mxr.mozilla.org/mozilla-central/source/xpcom/ds/nsStaticNameTable.h Короче говоря, чтобы улучшить производительность поиска, он создает карту (хеш) из массива строк (char*), в котором ключ…
19 фев '14 в 07:01