Вопрос закрыт, так как на Stack Overflow на русском вопросы принято задавать только на русском языке. Пожалуйста, переведите ваш вопрос на русский язык или воспользуйтесь Stack Overflow на английском.
Закрыт 1 год назад.
I want to get all keys from a collection, is there a standard way to do this?
std::unordered_map<std::string, size_t> map;
auto keys = map.get_keys();
В С++20 есть такая возможность:
auto keys= map | std::views::keys;
Для более старых версий стандарта, можно воспользоваться boost.
Однако, обращаю внимание, что keys - не самостоятельная коллекция, а адаптр к существующему map-у, и его содержимое будет меняться с изменением исходного контейнера, (итераторы будут инвалидироваться и т.д.):
std::unordered_map<int,int> map={{1,2},{3,4},{5,6}};
auto keys= map|boost::adaptors::map_keys;
map.erase(3);
for( auto i : keys )
std::cout<< i << std::endl;
Вроде у map и unordered_map нету методов (по крайней мере в С++14, С++17), что бы сразу получить коллекцию ключей, можете попробовать сами через итерацию по парам ключ-значение:
std::vector<Key> keys;
keys.reserve(map.size());
std::vector<Val> vals;
vals.reserve(map.size());
for(auto kv : map) {
keys.push_back(kv.first);
vals.push_back(kv.second);
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Мне нужно получить HWND или ID потока окна текущего процесса (не моего, я делаю DLL инъекцию) в котором OpenGL производит отрисовку чтобы установить...
Всем доброго дня! Работаю в C++ builder 10 и создаю пустую форму, которая по-умолчанию наследуется от класса TFormСтолкнулся с проблемой, корень которой...
Я пытаюсь реализовать обработку столкновений с помощью SAT, но в интернете встречается лишь теория о отрывки практикиУ меня появилось два...