Вопросы по теме '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 просмотров
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