ideas icon indicating copy to clipboard operation
ideas copied to clipboard

Инициализация контейнера значениями из другого контейнера без тега std::from_range

Open bravikov opened this issue 5 months ago • 1 comments

Нужен простой способ инициализировать один контейнер с помощью другого без лишних слов:

std::vector<int> v{1,2,3,4,5,5,6,6,6};
auto s = std::unordered_set{v};

Классический вариант:

std::vector<int> v{1,2,3,4,5,5,6,6,6};
std::unordered_set<int> s{v.begin(), v.end()};

В C++23 появился способ с указанием std::from_range:

std::vector<int> v{1,2,3,4,5,5,6,6,6};
auto s = std::unordered_set{std::from_range, v};

bravikov avatar Aug 09 '25 18:08 bravikov