数据类型与形式

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 中。