获取模板参数给出的类型对象的虚拟引用

时间:2013-05-09 07:28:40

标签: c++ c++11 stl template-meta-programming

有一个std::模板化函数允许获取对给定类型对象的虚拟引用,即使该类型具有私有构造函数。我忘了它,在谷歌上找不到它。它类似于:

template<class SomeType>
void MyFunction(SomeType [& or *] defaultArg = std::that_elusive_func<SomeType>())
{}

显然上面的defaultArg将不会在运行时使用,因为它无效,它仅用于模板元编程目的。

我似乎无法记住它。有人知道我在说什么吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

你想要std :: declval吗?

http://en.cppreference.com/w/cpp/utility/declval

.....