前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nebula3学习笔记(4): 工具库

Nebula3学习笔记(4): 工具库

作者头像
逍遥剑客
发布2018-05-23 11:12:19
4610
发布2018-05-23 11:12:19
举报

Nebula3工具库, 包含一些工具类, 容器类, 还有一个强大的String类.

下面分别来看一下有哪些东东:

Array< TYPE >

动态数组, 类似std::vector, 自带了排序方法和二分查找

Atom< TYPE >

对于持续存在对象的共享引用. 简单得来说, 就是一个生命周期很长的对象的智能指针, Atom<String>是最常用的, 作为常量字符串的封装.

Blob

大块内存空间的封装, 可以比较, 复制, 计算Hash值

CmdLineArgs

通用的命令行参数解析器, 格式: cmd arg0[=]value0 arg1[=]value1 arg2[=]value2

Crc

计算一段内存的CRC值

Dictionary< KEYTYPE, VALUETYPE >

词典类, 用于存储映射. 类似于std::map. 取元素的时间复杂度为O(log n). 内部是一个排序的Array实现的. 注意它只是在需要排序时才排, 所以加入元素很快, 而第一次的搜索会慢一些.

FixedArray< TYPE >

定长数组, 一维

FixedTable< TYPE >

表格, 定长二维数组

FourCC

四字符编码, 相当于一个uint, 可以做为ID, 具有可读性. 前面的工厂方法就用到了. (第一次见单引号里写多个字符@_@, 如uint = ‘ABCD’;)

Guid

全局统一标识符(GUID), 每台机器在不同时间生成的都不一样, 可以说是唯一性的.

HashTable< KEYTYPE, VALUETYPE >

跟Dictionary很像, 不过内部是用哈希表实现的, 搜索时间更快(O(1)), 内存占用要大一些. 相当于stdext::hash_map 做KEY的类必需实现这个方法: IndexT HashCode() const

KeyValuePair< KEYTYPE, VALUETYPE >

相当于std::pair

List< TYPE >

双向链表, 相当于std::list

Proxy< TYPE >

相当于带引用计数的智能指针, 普通类也可以用它进行包装, 而不用继承Core::RefCounted

Queue< TYPE >

队列, 相当于std::queue

SimpleTree< VALUETYPE >

简单的树型结构, 结构存储在Array中

Stack< TYPE >

堆栈, 相当于std::stack

String

字符串类, 相当于std::string, 但是功能强大得多. 提供了与其它Nebula数据类型的转换方法, 还有文件名操作函数.

Variant

通用数据类型, 相当于COM中的VARIANT

关于各个类的详细用法,可以参考testfoundation_win32工程.

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2008年07月04日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档