Yip*_*Yay 3 c++ templates pass-by-reference pass-by-value
假设我有任意模板方法,它可以通过值和const引用 接收参数(显然,对于普通类型和相应的对象).
在编写模板函数原型时如何处理这种情况?
我可以做类似的事情:
template <typename T> void Foo(T value) {
// Do something.
}
template <typename T> void Foo(const T& value) {
// Do something, yeah.
}
// Specialization for first prototype.
template <> void Foo<int>(int value) { }
// Specialization for second prototype.
template <> void Foo<Object>(const Object& value) { }
Run Code Online (Sandbox Code Playgroud)
但是这种方法对于简单的函数来说是可以接受的,这些函数纯粹作为其他一些调用的包装器.
如果函数(非模板化版本)里面有很多代码,这意味着我必须复制代码两次.
我可以在这里做些更聪明的东西吗?
归档时间: |
|
查看次数: |
220 次 |
最近记录: |