std::transform
- это полезный алгоритм в <algorithm>
для копирования значений между контейнерами, которые неявно совместимы, но для которых вы можете предоставить функцию преобразования.
Вот пример того, как можно заполнить std::vector<int*>
из std::array<int, N>
int values[5] = { 1,2,3,4,5 };
std::vector<int*> v1;
std::transform(
std::begin(values), std::end(values), // Copy from
std::back_inserter(v1), // Copy to
[](auto& i) { // Transformation function
return &i;
});
Редактировать: Изменено std::array<int, 5>
на int[5]
для учета правок в вопросе.