В настоящее время я работаю с коротким фрагментом кода, в котором я хотел бы взять каждое значение одного вектора, вызвать класс-обертку и поместить в новый вектор.
vector<MyClass> input;
vector<WrapperClass> output;
output.reserve(input.size());
for (auto& myclass: input) {
output.emplace_back(WrapperClass(myclass));
}
Я знаю, что приведенное выше не являетсяэто не очень хорошая читаемость, но это что-то вроде приведенного ниже:
vector<WrapperClass> output(input.begin(), input.end(), WrapperAllocator)
Я не совсем уверен, что должен делать распределитель, и из-за моего незнакомства с «концепциями C ++» многие издокументация идет прямо над моей головой.Может быть, это неправильный вариант использования, но вопрос действительно сводится к;
Можно ли преобразовать данные при их передаче из одного контейнера в другой? И, если возможно, как это будет сделано?