Gibt es eine übliche Methode, um den benutzerdefinierten 'assign' Funktor loszuwerden? std :: transformieren könnte groß sein, aber nach C++ Standard verbietet Änderung der QuellenelementeJedes Element der Sammlung ändern
Ziel Sammlung Elementen als mehr deklarativen Ansatz wie möglich
template <typename T>
struct assign : std::binary_function<T, T, void> {
void operator()(const T& source, T& dest) {
dest = source;
}
};
int main() {
static boost::array<int, 5> arr = { 1, 2, 3, 4, 5 };
std::for_each(arr.begin(), arr.end(),
boost::bind(assign<int>(), boost::bind(std::plus<int>(), _1, 3), _1));
return 0;
}
Gute Frage. Das Ändern jedes Elements würde die Konvertierung von Textzeichenfolgen in Klein- oder Großbuchstaben ermöglichen. –