是否有任何常見的方法來擺脫自定義的「分配」仿函數?的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