多次呼叫你可以考慮類似generator的應用auto f = std::bind([](int& n) { return n++; }, 0);f(); f(); f();用lambda吧XD [=]() mutable { test_mov(std::move(a)); }如果 ??? 是 = 就和 std::bind 是一樣的啊可是bind那樣寫也是沒辦法處理func是吃rvalue ref的情況
http://melpon.org/wandbox/permlink/i6hpL0VL93nEqzbz這個版本用lambda可以達到你要的效果 建立時先複製args一次然後因為只用一次 他會直接把複製的args move給func但若func要lvalue ref 會用template版本轉成lvalue ref給它