标签: 数据容器
-
Boost.Intrusive 是一个很有意思的实现,里面实现了很多侵入式容器,在特定环境下,可以大大提升性能。
-
由 Facebook 开发和维护的 C++库 Folly 提供
folly::small_vector
,代码文件地址:https://github.com/facebook/folly/blob/master/folly/small_vector.h。 -
folly::dynamic
提供类似于C++
的动态类型。和std::any
可以容纳任意类型不一样,folly::dynamic
只支持保存以下几种类型: -
我们知道在
javascript
以及Python 3.6+
中,所有的dict
都保留了插入顺序。但在 C++中,无论是std::map
还是std::unordered_map
,都没有保留插入顺序。当遍历时,std::map
得到的是一个根据键值排序的有序序列,而std::unordered_map
则基本是乱序。 -
我们知道在
javascript
以及Python 3.6+
中,所有的dict
都保留了插入顺序。但在 C++中,无论是std::map
还是std::unordered_map
,都没有保留插入顺序。当遍历时,std::map
得到的是一个根据键值排序的有序序列,而std::unordered_map
则基本是乱序。 -
由 Facebook 开发和维护的 C++库 Folly 提供
folly::sorted_vector_set
和folly::sorted_vector_map
,是std::map
和std::set
在小数据集上的优化版。代码见: https://github.com/facebook/folly/blob/master/folly/sorted_vector_types.h。