标量

一个标量就是一个单独的数据。本节将介绍标量的创建、读取和更新方式及使用示例。

创建标量

创建标量,就是将 C++ 原生类型转换为 DolphinDB 中类型。在本小节例子中,创建出的数据对象都存储在 ConstantSP 中。基本数据类型都定义在 <ScalarImp.h> 和 <ConstantImp.h> 中。

API 支持使用 new 语句创建:
ConstantSP i = new Int(1); //创建了一个Int类型的对象,值为1     
ConstantSP s = new String("DolphinDB"); //创建了一个String类型的对象,值为"DolphinDB"     
ConstantSP t = new Date(2022, 11, 1); //创建了一个Date类型对象,值为2022.11.1     
ConstantSP d = new Double(1.2); //创建了一个Double类型对象,值为1.2
Note:

虽然 <Util.h> 中提供了一些工具方法来创建不同类型的标量并返回对应指针,但更推荐用户使用 new 语句。

读取数据

读取数据,就是将存储在 ConstantSP 中的数据转换为 C++ 原生类型。在读取标量的值时,要根据 ConstantSP 中的实际类型对应的 C++ 原生类型来调用相应的方法。类型对应关系表格见 数据类型

所有类型都拥有 getString() 方法,将对应类型的值转换为字符串。

int ci = i->getInt();       
std::string cs = s->getString();       
int cd = t->getInt();     //Date底层数据类型是int       
double cv = d->getDouble();

更新数据

在更新标量的值时,要根据 ConstantSP 中的实际类型对应的 C++ 原生类型来调用相应的方法。类型对应关系表格见 数据类型

i->setInt(2); 
s->setString("C++ API"); 
t->setInt(5000); //含义是距离1970年1月1日的天数 
d->setDouble(2.3);