我有一个带有模板参数 T 的类。该类的某些函数获取类型为 T 的参数。为了达到最大速度,如果 T 是内置类型,我想通过值传递它,并在其他类型中通过 const 引用传递它案例。我知道这可以通过一些模板元编程来实现,但我正在寻找标准 C++ 库中的某种特性(也欢迎 C++11)支持它(在编译时),或者让它更容易实现.
我想编写这样的代码,如果 T 是内置类型,则 get_type 是 T,如果 T 是其他类型,则 get_type 是 const T&:
template <typename T> void foo(get_type<T> a);
PS:我知道 Loki ( http://loki-lib.sourceforge.net/ ) 有一个功能,但我不想让我的代码依赖于外部库。