数据类型与形式
DolphinDB C++ API 中支持的数据类型与格式如下:
数据类型
DolphinDB中类型 | DolphinDB示例数据 | C++类型 | C++类型示例数据 | |
---|---|---|---|---|
数值类型 | BOOL | false | char | 0 |
CHAR | ’a' | char | 'a' | |
SHORT | 122h | short | 122 | |
INT | 21 | int | 21 | |
LONG | 22l | long long | 22 | |
FLOAT | 2.1f | float | 2.1f | |
DOUBLE | 2.2 | double | 2.2 | |
DECIMAL32 | decimal32(2.1, 3) | int | 2100 | |
DECIMAL64 | decimal64(2.1, 3) | long | 2100 | |
DECIMAL128 | decimal128(2.1, 3) | int128 | 2100 | |
时间类型 | DATE | 2013.06.13 | int | 15869 |
MONTH | 2012.06M | int | 24149 | |
TIME | 13:30:10.008 | int | 48610008 | |
MINUTE | 13:30m | int | 810 | |
SECOND | 13:30:10 | int | 48610 | |
DATETIME | 2012.06.13 13:30:10 | int | 1339594210 | |
DATEHOUR | 2012.06.13T13 | int | 372109 | |
TIMESTAMP | 2012.06.13 13:30:10.008 | long long | 1339594210008 | |
NANOTIME | 13:30:10.008007006 | long long | 48610008007006 | |
NANOTIMESTAMP | 2012.06.13 13:30:10.008007006 | long long | 1339594210008007006 | |
字符串类型 | STRING | “Hello” | std::string | “Hello” |
SYMBOL | “Hello” | - | - | |
BLOB | “Hello” | std::string | “Hello” | |
其它类型 | UUID | 5d212a78-cc48-e3b1-4235-b4d91473ee87 | unsigned char[16] | - |
INT128 | e1671797c52e15f763380b45e841ec32 | unsigned char[16] | - | |
IPADDR | 192.168.1.13 | unsigned char[16] | - | |
VOID | NULL | - | - |
数据形式
数据形式 | 描述 | DolphinDB 中该形式数据示例 |
---|---|---|
标量 | 单个变量 | 5, 1.3, 2012.11.15, `hello |
向量 | 一个向量就是一组有序排列的数据 | [1,2,3,4,5,6,7,8,9,10] |
数组向量 | 用于存储可变长度的二维数组 | [[1,2,3],[4,5],[6,7,8],[9,10]] |
矩阵 | 一个按照长方阵列排列的标量集合 | matrix([1 2 3, 4 5 6]); |
集合 | 一个无序且不重复的数据集合 | (2,5) |
字典 | 一种无序的数据结构,用于存储键(Key)和值(Value)之间的映射关系,其中键不能重复 | (1->4.5, 2->7.8, 3->4.3) |
表 | 一组有序排列的向量 | - |
数据对象
DolphinDB C++ API 中的数据对象包含标量、向量、矩阵、集合、字典和表等,其中:
-
Constant 类是所有类型的基类,所有的数据类型(例如 Int,String)和数据格式(例如 Vector,Table)都直接或间接派生自 Constant。
-
以 SP 为结尾的类型(例如 ConstantSP,VectorSP)是一个智能指针类型,类似于标准库中的
std::shared_ptr
,无需用户手动释放其内存。 -
由上述两点可知,所有的数据对象都可以存储在 ConstantSP 中,可以根据其提供的接口
getType()
和getForm()
来获取数据具体的类型和格式。 -
API 所有的类以及接口都在命名空间
dolphindb
中。