tr1::result_of 的一个好用例是什么?

3

我听说tr1::result_of在Boost内部经常被使用... 我想知道是否有任何好的(简单)用例可以在家中使用tr1::result_of。

3个回答

4

从 Microsoft 的示例来看,result_of 的优点在于它添加了一个描述返回类型的 trait。谢谢! - oz10

3

没有简单的情况。然而,它被用在BOOST_AUTO中,例如可以在...中使用。

BOOST_AUTO(x, make_pair(a, b));

1

在进行元编程时非常有用。我使用它的唯一场合是在一个包装函数中。如果 result_of<T>::type 是 void,那么包装器就不返回任何内容。否则,它将返回被包装函数返回的任何内容。


只是让你知道,在某些情况下,C++ 允许返回 void。例如:"template<class T> T func() { return T(); }" 即使 T 是 void 也是有效的。 - Evan Teran

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接