完美的转发很棒。但是,如果我不想完美地转发而只是重载,我该怎么办呢?
template<typename T> void foo(T&& ref);
template<typename T> void foo(const T& ref);
不起作用,因为第一个重载将调用完美转发。我真的很喜欢与第一个是普通左值引用非常相似的行为——其中 T 始终是值类型。
完美的转发很棒。但是,如果我不想完美地转发而只是重载,我该怎么办呢?
template<typename T> void foo(T&& ref);
template<typename T> void foo(const T& ref);
不起作用,因为第一个重载将调用完美转发。我真的很喜欢与第一个是普通左值引用非常相似的行为——其中 T 始终是值类型。