标量
一个标量就是一个单独的数据。本节将介绍标量的创建、读取和更新方式及使用示例。
创建标量
创建标量,就是将 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);