std::for_each按值接受并返回一个仿函数:templateUnaryFunctionfor_each(InputItfirst,InputItlast,UnaryFunctionf);虽然仿函数可以移入移出,但我感兴趣的是是否可以完全不涉及对象构造。如果我声明自己的my_for_each像这样:templateUnaryFunction&&my_for_each(InputItfirst,InputItlast,UnaryFunction&&f);里面my_for_each,调用f与std::forward(f)(...),我可以避免移动构造参数的成本,并且作为奖励能够尊重r