Я ищу, чтобы вставить значения в std :: vector таким образом, как std :: transform. std :: transform требует предварительно заданного третьего аргумента, но в моем случае размер зависит от transformers() и не предсказуем.Замена std :: transform, вставка в std :: vector
...
// std::vector<int> new_args(); <-- not working
std::vector<int> new_args(args.size());
std::transform(args.begin(),args.end(),new_args.begin(),transformers());
Есть ли способ std: transform-ish вставлять значения в std :: vector?
[Это] (http://en.cppreference.com/w/cpp/iterator/back_inserter) может помочь –
Какого образом размера зависит от 'transformers'? Вы делаете какую-то фильтрацию? Если да, то откуда вы узнали, что что-то было отфильтровано? Просьба уточнить. –
'std :: vector new_args();' объявляет функцию (самый неприятный синтаксический анализ), она должна быть 'std :: vector new_args;' или 'std :: vector new_args {};'. (тогда 'std :: back_inserter' для вашей реальной проблемы). –
Jarod42