模版化可能是一种原因。
你可以为任何一个类实现std::any_cast<T1>(T2 x)。这样std::any_cast就可以用在模版函数里,自动对T2适用。
但你可能无法为T2添加 T.cast 成员函数。
不过其实可以既要又要的。
【 在 finlab 的大作中提到: 】
: 比如下面的any, 我觉得a.cast<string>()是最顺手的方式,因为只要定义了any对象,
: 后面就可以自动完成,而现在any_cast设计成单独的函数,必须自己敲,很不方便。
: 其他类似的还有很多。c++这么设计,有什么明显的好处吗?
: ...................
--
FROM 124.207.9.*