Lambdas and Callables
Transform With Lambda
std::transform can use a lambda to build changed values from an input range.
Transform With Lambda
transform_with_lambda.cpp
#include <algorithm>
#include <iostream>
#include <vector>
int main() {
int scale = ;
std::vector<int> values{1, 2, 4};
std::vector<int> scaled(values.size());
std::transform(values.begin(), values.end(), scaled.begin(), [scale](int value) {
return value * scale;
});
for (int value : scaled) {
std::cout << "scaled=" << value << std::endl;
}
return 0;
}
#include <algorithm>
#include <iostream>
#include <vector>
int main() {
int scale = ;
std::vector<int> values{1, 2, 4};
std::vector<int> scaled(values.size());
std::transform(values.begin(), values.end(), scaled.begin(), [scale](int value) {
return value * scale;
});
for (int value : scaled) {
std::cout << "scaled=" << value << std::endl;
}
return 0;
}
#include <algorithm>
#include <iostream>
#include <vector>
int main() {
int scale = ;
std::vector<int> values{1, 2, 4};
std::vector<int> scaled(values.size());
std::transform(values.begin(), values.end(), scaled.begin(), [scale](int value) {
return value * scale;
});
for (int value : scaled) {
std::cout << "scaled=" << value << std::endl;
}
return 0;
}
transform
`std::transform` applies a callable to each input value and writes the result to an output range.