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

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工程.

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏偏前端工程师的驿站

JS魔法堂:ES6新特性——GeneratorFunction介绍

一、前言                                   第一次看koajs的示例时,发现该语句 function *(next){.....

2695
来自专栏Laoqi's Linux运维专列

python3–python模块+(复习)

4337
来自专栏飞雪无情的博客

Go语言中new和make的区别

Go语言中new和make是内建的两个函数,主要用来创建分配类型内存。在我们定义生成变量的时候,可能会觉得有点迷惑,其实他们的规则很简单,下面我们就通过一些示例...

1222
来自专栏来自地球男人的部落格

Python常见用法汇总

此篇主要记录写python遇到的一些常见用法。 1. 正则表达式匹配中文 当我们使用正则表达式匹配字符串中的中文中文时会发现字符串明明有目标串却不能匹配的情况 ...

2515
来自专栏互联网杂技

前端--理解 Promise 的工作原理

Javascript 采用回调函数(callback)来处理异步编程。从同步编程到异步回调编程有一个适应的过程,但是如果出现多层回调嵌套,也就是我们常说的厄运的...

3726
来自专栏编程

继续说说Python中的字典

上次字典没学完,今天接着和园友来探讨。 上一期我们的字典,是用常量初始化的。其实,字典也可以用变量初始化,这样会更灵活,比如: age =10 mes_dict...

2608
来自专栏iOS技术杂谈

Java8 Lambda表达式与Stream API (二): Stream API的使用你要知道的Java8 匿名内部类、函数式接口、lambda表达式与Stream API都在这里

你要知道的Java8 匿名内部类、函数式接口、lambda表达式与Stream API都在这里 转载请注明出处 https://cloud.tencent.co...

5436
来自专栏菩提树下的杨过

python:函数中五花八门的参数形式(茴香豆的『回』字有四种写法)

2844
来自专栏塔奇克马敲代码

第 17 章 标准库特殊设施

1683
来自专栏西枫里博客

Python学习笔记二(变量和字符串)

2017年年终确定的从2018年开始学习一门新的语言。随着机器学习人工智能的日渐深入,是时候有必要掌握以下Python了。博客今天更新第二篇学习记录,关于Pyt...

1082

扫码关注云+社区

领取腾讯云代金券