1
鑑於此代碼:C++ 11綁定的方法簽名簡化
#include <iostream>
#include <functional>
template<typename T>
void f(T t1, T t2) { std::cout << t1 << " " << t2 << std::endl; }
template<typename...Ts>
void g(Ts... ts) { f(ts...); }
int main() {
auto f = std::bind(g<int, int>, 1, 2);
f();
return 0;
}
有沒有辦法跳過爲std::bind(g<int, int>, 1, 2)
g
模板類型規範?
如果不是,至少可以指定一次類型嗎?即std::bind(g<int>, 1, 2)
這裏是一個live version這個。
它不會帶來太大變化,但您可以使用'std :: bind(static_cast(g),1,2);'。實際上模板類型規範已經消失。 :-) –
skypjack