У меня есть этот вектор:Преобразовать вектор указатель на вектор объектов
std::vector<T*> foo;
У меня есть функция со следующей подписью (я не могу изменить его):
void bar(std::vector<T> const&);
Как я могу передать foo для этой функции с минимальными изменениями?
Мой текущий подход:
std::vector<T> another_bar(bar.size());
std::transform(std::begin(bar),std::end(bar),std::begin(another_bar),[](T* item){return *T;});
Я думаю, что есть много ненужного копирования происходит здесь.
РЕДАКТИРОВАТЬ:
Т не является шаблонным параметром. Это определенный тип.
Что такое 'T'? Определенный тип или параметр шаблона? – Zulan
Есть копирование, но я не думаю, что это не нужно. Как еще вы могли бы получить «вектор'? –
alcedine
Почему у вас есть вектор сырых указателей в первом кружеве? – LogicStuff