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

Strtol, strtod небезопасны?
Кажется, что strtol() и strtod() эффективно позволяют (и заставляют) отказаться от константности в строке: #include <stdlib.h> #include <stdio.h> int main() { const char *foo = "Hello, world!"; char *bar; strtol(foo,...
5536 просмотров
schedule 06.10.2023

std :: sort и std :: уникальная проблема со структурой
Следующий код: #include <vector> #include <algorithm> struct myStructDim { int nId; int dwHeight; int dwWidth; }; void main() { ::std::vector<myStructDim> m_vec_dim;...
2105 просмотров
schedule 30.09.2022

Зачем вообще использовать «errno»?
Я студент CS в Технионе, я только что узнал о errno переменных и вызовах функций в стиле c. Это заставляет меня задаться вопросом, если системные вызовы в стиле C используют регистры для возврата значения, почему вообще кто-то должен использовать...
3301 просмотров
schedule 13.02.2024

Передать стандартные предикаты алгоритмов по ссылке в С++
Я пытаюсь удалить элементы из std::list и сохранить некоторую статистику удаленных элементов. Для этого я использую функцию remove_if из списка, и у меня есть предикат. Я хотел бы использовать этот предикат для сбора статистики. Вот код...
1346 просмотров

Эффективный метод случайного выбора всех элементов std::vector ровно один раз БЕЗ перетасовки
Я ищу эффективный метод для выбора доступа к каждому элементу std::vector<T> в случайном порядке, без их перетасовки или копирования, т.е. без использования std::random_shuffle и обеспечения того, чтобы каждый элемент выбирался только один...
808 просмотров
schedule 13.12.2023

работа с std::bitset
Существует определение класса и несколько логических функций, которые проверяют некоторые атрибуты. class MemCmd { friend class Packet; public: enum Command { InvalidCmd, ReadReq,...
521 просмотров
schedule 08.12.2023

состояние std::vector после std::bad_alloc
Я пытаюсь найти онлайн-ссылку, чтобы увидеть безопасность исключений нескольких стандартных контейнеров. В случае std::vector сохраняется ли состояние, предшествующее вызову push_back? Я бы предположил, что все объекты вектора все еще...
438 просмотров
schedule 03.02.2024

std::auto_ptr против std::tr1::shared_ptr
Возможный дубликат: Какой тип указатель использовать когда? Я читал, что std::auto_ptr устарело, поэтому вместо него нужно использовать std::tr1::shared_ptr . Как я читал, разница в том, что std::tr1::shared_ptr имеет подсчет...
697 просмотров
schedule 15.04.2024

Что такое структура данных карты в C++
Какая структура данных используется для следующей строки кода на С++? map <char, int> dict; Это хеш-таблица?
7767 просмотров
schedule 16.02.2024

Как преобразовать std::vector‹unsigned char› в вектор‹char› без копирования?
Я не смог найти этот вопрос, и это реальная проблема, с которой я столкнулся. У меня есть утилита загрузки файлов, которая возвращает std::vector<unsigned char> , содержащую все содержимое файла. Однако для функции обработки требуется...
6668 просмотров
schedule 05.11.2023

Как получить ссылку на состояние из лямбда с предложением захвата?
Lambdas может захватывать элементы из контекста, в котором они созданы, используя синтаксис [=] . Я предполагаю, что в лямбде должна храниться ссылка на состояние, что-то вроде указателя this . class Class { public: void Function() {...
382 просмотров
schedule 24.04.2024

Карта С++ STL: время доступа O (1)?
Ищет ли ключ std::map O(1)? Я думал, что это так, пока я не подумал об этом больше. Он основан на реализации дерева, поэтому время поиска должно быть O (log N), правильно? И возможно ли, чтобы O (1) искал строковый ключ, возможно,...
45351 просмотров
schedule 27.04.2024

Как я могу убедиться, что всегда есть заданное количество потоков? (Кроме того, это хорошее использование потоков?)
Я только сегодня начал погружаться в многопоточность, используя стандартную библиотеку. Ниже то, что я придумал до сих пор. Хотя в принципе он работает, он не запускает новый поток после завершения одного, а запускает 4 потока после завершения...
153 просмотров
schedule 04.10.2023

Использование класса в качестве значения для карты STL — неопределенный символ
Я использую Embarcadero RAD Studio XE C++ Builder. У меня небольшая проблема с правильной работой моей карты STL. #ifndef BbTabManagerH #define BbTabManagerH #include "BbSeExplorer.h" #include "BbTabPage.h" #include <map> #define...
1032 просмотров
schedule 24.09.2022

Как читать stdin в стандартном C ++ для двух чисел, разделенных запятой?
Мне нужно прочитать stdin для двух чисел, разделенных запятой, используя стандартную библиотеку C ++ (без повышения). Таким образом, пользователь будет вводить числа в консоли в формате, Примеры 2,3 3,10 Если бы это было для C, я мог бы...
727 просмотров
schedule 10.03.2024

Эффективное пересечение множеств?
Мне интересно, какой самый эффективный способ сделать это. У меня есть очки, которые я набираю с 2-х мест. Меня интересуют только те моменты, которые являются общими для обоих мест. Мой план состоит в том, чтобы иметь 3 std::set<Point>...
225 просмотров
schedule 11.11.2023

std::regex_replace принимает не менее 6 аргументов
Я пытаюсь научиться использовать библиотеку регулярных выражений в С++ 11. В Ubuntu 13.10 я пытаюсь скомпилировать следующий пример из cplusplus.com : // regex_replace example #include <iostream> #include <string> #include...
1449 просмотров
schedule 30.01.2024

Хорошо ли перегружать математические функции в пространстве имен std в С++?
Я пишу класс C++, который представляет арифметический тип (оболочка C++ вокруг mpfr ), и я хотел бы для поддержки некоторых функций из ‹cmath› (в качестве примера я возьму std::sqrt). Итак, у меня есть следующий класс: namespace ns { class...
2209 просмотров
schedule 08.12.2023

Правильный способ проверки размера std::vector внутри цикла
У меня есть std::vector, который мне нужно часто перебирать. Я вижу два способа сделать это Первый способ: const size_t SIZE = myVec.size(); for (size_t i = 0; i < SIZE; i++) { myVec[i] = 0; } Второй способ: for (size_t i = 0;...
361 просмотров
schedule 29.08.2022

Как объявляется/определяется std::vector‹bool›?
В различных онлайн-ресурсах я читал, что std::vector<bool> имеет собственное поведение, которое полностью отличается от других типов std::vectors. В частности, он сжимает вектор таким образом, что каждый индекс представляет один бит, а не...
148 просмотров
schedule 15.03.2024