tl; dr:你如何在D中做perfect forwarding? 鏈接有一個很好的解釋,但是,例如,讓我們說我有這樣的方法: void foo(T)(in int a, out int b, ref int c, scope int delegate(ref const(T)) d)
const nothrow
{
}
如何創建另一種方法,bar(),它可以代替foo()被調用
簡單的問題,爲什麼不the following工作(暗示副本ci)? #include <utility>
int main(){
const int ci = 2;
std::forward<int>(ci);
}
問題表現出來,而寫一些東西的模板,在那裏我有一個簡單的支架類型,如下所示。爲了避免不必要的副本,我儘可能使用完美的轉發方式,但事實證明這似乎是問題的根源