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

STL как ярлык для контейнера typedef?
Обычный паттерн с контейнерами STL таков: map<Key, Value> map; for(map<Key, Value>::iterator iter = map.begin(); iter != map.end(); ++iter) { ... } Итак, чтобы не писать объявление параметров шаблона, мы можем сделать это...
1077 просмотров
schedule 21.03.2022

Возврат «любого типа итератора ввода» вместо vector :: iterator или list :: iterator
Предположим, я хочу реализовать на C ++ структуру данных для хранения ориентированных графов. Дуги будут храниться в узлах благодаря контейнерам STL. Я бы хотел, чтобы пользователи могли выполнять итерацию по дугам узла способом, подобным STL. У...
3411 просмотров
schedule 22.03.2022

Как я могу прочитать двоичные данные из wfstream?
У меня небольшая проблема с чтением данных из файла. Я хочу иметь возможность читать wstring, а также кусок необработанных данных произвольного размера (размер в байтах). std::wfstream stream(file.c_str()); std::wstring comType; stream >>...
4898 просмотров
schedule 16.03.2024

как инициализировать 'const std::vector‹T›' как массив c
Есть ли элегантный способ создать и инициализировать const std::vector<const T> как const T a[] = { ... } фиксированным (и небольшим) числом значений? Мне нужно часто вызывать функцию, которая ожидает vector<T> , но эти значения...
94670 просмотров
schedule 22.04.2024

Как скопировать содержимое массива в std::vector на С++ без зацикливания?
У меня есть массив значений, который передается моей функции из другой части программы, которую мне нужно сохранить для последующей обработки. Поскольку я не знаю, сколько раз будет вызываться моя функция, прежде чем придет время обрабатывать данные,...
201272 просмотров
schedule 10.03.2023

Проверка контейнеров STL в Xcode
Судя по поиску в Google, Xcode (в моем случае 3.1) должен, по крайней мере, пытаться дать мне нормальное отладочное представление контейнеров STL или, по крайней мере, векторов. Однако всякий раз, когда я смотрю на вектор в отладчике, я вижу только...
5069 просмотров
schedule 13.02.2023

Проблема сравнения векторов STL
С вектором, определенным как std::vector<std::string> , интересно, почему следующее верно: if ( vecMetaData[0] != "Some string" ) { ... Но не это: switch ( vecMetaData[1] ) { ... Visual studio жалуется: ошибка...
1150 просмотров
schedule 24.01.2023

Матричная инверсия библиотеки шаблонов матриц
Пытаюсь инвертировать матрицу с версией Boost boost_1_37_0 и MTL mtl4-alpha-1-r6418. Я не могу найти код инверсии матрицы. Я гуглил примеры, и они, кажется, ссылаются на lu.h, который, кажется, отсутствует в вышеуказанных выпусках. Любые подсказки?...
4829 просмотров
schedule 20.05.2022

Как использовать SGI STL hash_map?
Я пытаюсь использовать реализацию SGI STL, которую скачал с их сайта. Я хочу использовать хэш-карту, потому что мне нужно хранить около 5 000 000 записей, но это должно быть хорошо: мне нужно иметь возможность очень быстро получить к ней доступ. Я...
9952 просмотров
schedule 09.02.2023

Почему этот распределитель C ++ STL не выделяет?
Я пытаюсь написать собственный распределитель STL, производный от std::allocator , но каким-то образом все вызовы allocate() переходят в базовый класс. Я сузил его до этого кода: template <typename T> class a : public...
7036 просмотров
schedule 01.02.2024

Каковы накладные расходы на пустой вектор?
Каковы накладные расходы памяти при наличии пустого вектора по сравнению с указателем на вектор? Вариант А: std::vector<int> v; Вариант Б: std::vector<int> *v = NULL; Я полагаю, что вариант B занимает 1 32-битный...
13216 просмотров
schedule 10.08.2022

Как работает масштабируемый_аллокатор Intel TBB?
Что на самом деле делает tbb::scalable_allocator в строительных блоках Intel Threading Building Block? Это, безусловно, может быть эффективным. Я только что использовал его, чтобы сократить время выполнения приложений на 25% (и увидеть...
19825 просмотров
schedule 31.08.2022

самодельный STL для производительности?
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2271.html Согласно этой статье, STL не подходит для разработки игр. Что вы думаете об этом? Мой текущий подход таков: используйте STL, если это приводит к проблемам с...
1111 просмотров
stl
schedule 31.10.2022

C ++ STL: какой метод итерации по контейнеру STL лучше?
Некоторым из вас это может показаться несерьезным, но какой из следующих двух методов итерации по контейнеру STL лучше? Почему ? class Elem; typedef vector<Elem> ElemVec; ElemVec elemVec; // Method 0 for (ElemVec::iterator i =...
3471 просмотров
schedule 13.02.2022

Как я могу оценить использование памяти std::map?
Например, у меня есть std::map с известными sizeof(A) и sizeof(B), а внутри map есть N записей. Как бы вы оценили его использование памяти? я бы сказал, что это что-то вроде (sizeof(A) + sizeof(B)) * N * factor Но что является фактором?...
38795 просмотров
schedule 10.09.2022

Лучший способ очистить stringstream?
Одна из возможностей: somestringstream.str(""); Но наиболее ли он оптимален? Есть ли способ сохранить внутренний буфер строкового потока, чтобы следующие вызовы оператора‹‹() не требовали повторного резервирования памяти?
39914 просмотров
schedule 24.12.2022

функция сравнения для upper_bound/lower_bound
Я хочу найти первый элемент в отсортированном векторе, поле которого меньше некоторого значения x. Мне нужно предоставить функцию сравнения, которая сравнивает 'x' с внутренним значением в MyClass, но я не могу определить объявление функции. Могу ли...
35852 просмотров
schedule 20.06.2022

Как я могу отобразить содержимое карты на консоли?
У меня есть map , объявленный следующим образом: map < string , list < string > > mapex ; list< string > li; Как я могу отобразить элементы, хранящиеся на приведенной выше карте, на консоли?
84881 просмотров
schedule 27.02.2022

Расширение стандартной библиотеки C ++ путем наследования?
Принято считать, что стандартная библиотека C ++ обычно не предназначена для расширения с использованием наследования. Конечно, я (и другие) критиковал людей, предлагающих уйти из таких классов, как std::vector . Однако этот вопрос: исключения c...
6997 просмотров
schedule 22.01.2023

использование boost::lambda_ для сжатия пробелов в строке
Я использую boost::lambda для удаления последующих пробелов в строке, оставляя только один пробел. Я пробовал эту программу. #include <algorithm> #include <iostream> #include <string> #include <boost/lambda/lambda.hpp>...
333 просмотров
schedule 05.01.2024