`std::map<std::string, enum{1, 2, 3, 4}>` (или std::map<std::string, tuple<bool, bool>>`) кэширует` против `std: :set<stC++

Программы на C++. Форум разработчиков
Anonymous
`std::map<std::string, enum{1, 2, 3, 4}>` (или std::map<std::string, tuple<bool, bool>>`) кэширует` против `std: :set<st

Сообщение Anonymous »

Некоторые реализации векторов (например, https://github.com/nicola-gigante/bitvector) используют 1 бит на бит (в отличие от 8 бит, как в старом std::vector).
Новое В черновиках C++ также есть такие вещи, как std::bitset ( https://cppreference.com/w/cpp/utility/bitset ).
Содержит ли новый черновик C++ разрешить std::map (2-битное значение) просто использовать еще 2 бита для хранения каждого значения (по сравнению с std::set)? Как насчет использования ЦП (хотелось бы получить данные о том, сколько мс нужно использовать алгоритмам, сжимающим логические значения.)
Выполняйте значения std::map используйте в 4 раза меньше, в 2 раза меньше или столько же, сколько std::map

Подробнее здесь: https://stackoverflow.com/questions/785 ... -tuplebool

Вернуться в «C++»