std::transform creates derived values by applying the same operation to each input element.

Transform Values

transform_values.cpp
#include <algorithm>
#include <iostream>
#include <vector>

int main() {
    std::vector<int> base{2, 4, 6};
    int multiplier = ;

    std::vector<int> scaled(base.size());
    std::transform(base.begin(), base.end(), scaled.begin(),
        [multiplier](int value) {
            return value * multiplier;
        });

    std::cout << "multiplier=" << multiplier << std::endl;
    std::cout << "scaled0=" << scaled[0] << std::endl;
    std::cout << "scaled2=" << scaled[2] << std::endl;
    return 0;
}
#include <algorithm>
#include <iostream>
#include <vector>

int main() {
    std::vector<int> base{2, 4, 6};
    int multiplier = ;

    std::vector<int> scaled(base.size());
    std::transform(base.begin(), base.end(), scaled.begin(),
        [multiplier](int value) {
            return value * multiplier;
        });

    std::cout << "multiplier=" << multiplier << std::endl;
    std::cout << "scaled0=" << scaled[0] << std::endl;
    std::cout << "scaled2=" << scaled[2] << std::endl;
    return 0;
}
#include <algorithm>
#include <iostream>
#include <vector>

int main() {
    std::vector<int> base{2, 4, 6};
    int multiplier = ;

    std::vector<int> scaled(base.size());
    std::transform(base.begin(), base.end(), scaled.begin(),
        [multiplier](int value) {
            return value * multiplier;
        });

    std::cout << "multiplier=" << multiplier << std::endl;
    std::cout << "scaled0=" << scaled[0] << std::endl;
    std::cout << "scaled2=" << scaled[2] << std::endl;
    return 0;
}
transform `std::transform` writes one output value for each input value.
output container The output container must have room for the transformed values before the algorithm writes into it.