【发布时间】:2018-04-09 10:24:33
【问题描述】:
有什么方法可以获取std::any存储的数据大小(以字节为单位)?我想出的唯一解决方法是通过std::any::type 查询其值的类型并将结果与my_any.type() == typeid(T) 等已知类型的列表进行比较,然后大小为sizeof(T)。不幸的是,这种解决方案只有在预先知道类型时才有效。
你知道有什么解决办法吗?
【问题讨论】:
-
这个问题很清楚,问得很好,不管 cmets 是什么,不值得这样的反对票。 (提供
any::size()的需求并不能大大改善问题,这可能有助于暴露XY problems。)
标签: c++ sizeof type-erasure stdany