摘要:
此外在c++17之前,各大类库基本都提供了自己variant万能类,c++17 标准库引入any类可取代之,并提供更好的类型安全和效率。 any 类可以容纳任意类型(可构造,复制)的值。用途目的之一可避免小对象的动态内存分配。例如在一个数组中存放基类及子类,实现基类多态访问。std::vector< 阅读全文
posted @ 2017-04-21 15:21
思危
阅读(4855)
评论(0)
推荐(0)
摘要:
optional用途如其名,它可以容纳一个对象值或是为空。典型的应用情景是函数调用时,如需根据条件返回一个对象(有效)或默认对象(无效),若该对象构造成本很高(资源分配等),可用optional返回一个空对象,提高效率。 例如: 阅读全文
posted @ 2017-04-21 15:15
思危
阅读(4811)
评论(0)
推荐(1)
摘要:
c++17标准中引入了variant来作为union的类型安全替代品。它可以在任意时间保存模板参数列表中某一类型的值或者空值。与union一样,如果某一variant保存类型T的一个值,那么T的对象被直接分配在variant的内部。variant不能在动态内存分配方式中使用。variant不可存放引 阅读全文
posted @ 2017-04-21 15:05
思危
阅读(12868)
评论(0)
推荐(1)

浙公网安备 33010602011771号