是否有任何常见的方法来摆脱自定义的“分配”仿函数?的std ::变换可能是巨大的,但根据C++标准它禁止源元件修改集合的每个元素
的目标是使用如多声明方法尽可能
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;
}
好问题。修改每个元素将允许将文本字符串就地转换为全部小写或全部大写。 – 2011-01-06 00:10:41