我正在考虑将 std::any 用于类型擦除作为我正在构建的接口的一部分,我想知道为什么它缺少这么多运算符,比如“+”、“==”。我在这里修改了 Coliru ,在那里我将 std::any 扩展为可汇总和可打印到 ostream 中。这仅适用于现在持有 double 的任何人,但这个概念有效,它只是需要完成以支持所有基本数字数据类型(只要 lhs 和 rhs 是操作数的相同类型)的实现。
考虑到我能够在这么短的时间内扩展任何类似的东西,为什么 stl 实现在操作数方面如此有限?
任何想法表示赞赏。