变量
变量声明
可变量必须在声明之前使用。 可变量必须拥有特殊的辨认名。相关可变量的定义描述会显示。
基本类型如下:
- 字符型,短整型,整型,长整型,无符号字符型,无符号短整型,无字符整型,无符号长整型-整数;
- 颜色-代表RGB-颜色的整数;
- 日期时间-日期和时间,自1970年1月1日起无符号整数包括秒数;
- 布尔数据-布尔值的true 和 false;
- 双精度数字-带有浮点的双精度数字;
- 浮点型-带有浮点的单精度数字;
- 字串符数据-特殊字符串。
示例:
string szInfoBox;
|
复合类型:
用其他类型构成的数据类型结构。
struct MyTime
|
结构类型声明前不可结构类型变量声明。
相同数列数据被标注序列:
int a[50]; // 50个整数的一维数组
|
唯一整数可以是数组指数。 不允许四唯数列。数组元素开始编号为0 。 一个一维列阵的最后元素是1的数字比列阵大小。这就意味着, 请求数列的最后元素包括50 个整数将出现作为a[49 ] 。 维度被标注从0 到维度大小-1. 一个二维数组的最后元素从示例将出现作为m[6][49 ] 。
静态数组不能代表时间序列,例如ArraySetAsSeries()函数从后到前接入数组,不能应用于此。如果想要在时间序列中接入数组,使用动态数组对象 。
如果访问超出数列范围,执行的子系统将生成严重错误,程序就会停止。
用于处理数组的内置方法 #
来自数组函数部分的函数,以及内置方法可以用来处理数组:
方法 |
Analog |
描述 |
---|---|---|
void array.Fill(const scalar value, const int start_pos=0, const int count=-1); |
用指定的值填写数组 |
|
void array.Free(); |
释放动态数组缓存区并将零维度大小设置为0(零) |
|
int array.Resize(const int range0_size, const int reserve); int array.Resize(const int range_sizes[], const int reserve); |
在数组第一维度中设置新大小 |
|
int array.Print(); |
在日志中显示简单的类型数组值 |
|
int array.Size(const int range=-1); |
返回整个数组(范围=1)或指定数组维度中的元素个数 |
|
bool array.IsDynamic(); |
检查数组是否为动态 |
|
bool array.IsIndicatorBuffer(); |
|
检查数组是否为指标缓存区 |
bool array.IsSeries(); |
检查数组是否为时间序列 |
|
bool array.AsSeries(); |
检查数组索引方向 |
|
bool array.AsSeries(const bool as_series); |
设置数组中的索引方向 |
|
int array.Copy(const src_array[], const int dst_start, const int src_start, const int cnt); |
将数组值复制到另一个数组 |
|
int array.Compare(const src_array[], const int dst_start, const int src_start, const int cnt); |
返回比较两个简单类型数组或自定义结构的结果 |
|
int array.Insert(const src_array[], const int dst_start, const int src_start, const int cnt); |
从指定索引开始,将来自源数组的指定元素数量插入到接收数组 |
|
int array.Remove(const int start_pos, const int count); |
从指定索引开始移除数组中指定的元素数量 |
|
int array.Reverse(const int start_pos, const int count); |
从指定索引开始反转数组中指定的元素数量 |
|
bool array.Swap(array& arr[]); |
与另一个相同类型的动态数组交换内容 |
|
void array.Sort(sort_function); |
按第一个维度对数值数组进行排序 |
|
int array.Search(scalar value, search_function); |
返回在数组第一维度中检测到的第一个元素的索引 |
|
int array.Find((scalar value, search_function); |
|
使用传递的函数在数组中执行搜索并返回第一个检测到的元素的索引 |
array array.Select(scalar value, search_function); |
|
使用传递的函数在数组中执行搜索并返回包含所有检测到的元素的数组 |
接入说明符
接入说明符表示编译器如何接入变量,结构会员或者类。
常量 说明符声明常数变量,运行期不允许改变这个变量。变量声明时允许独自初始化。
样本
int OnCalculate (const int rates_total, // 价格[] 数组的大小
|
若要接入结构会员和类使用以下限定符:
- 公用限定符 -允许自由接入变量或者类函数
- 受保护限定符 -允许从这个类函数或者公共继承类函数中接入。不允许其他接入;
- 私人限定符-允许仅从同类函数中接入变量和类函数。
- 虚拟限定符 -仅应用于类函数(不是结构函数)并且告诉编译器这个函数置于类虚拟函数表格中。
存储类
有三种存储类:静态,输入,外部。存储类的这些调节器明确表明内存预分配区分配的相关变量的编译器,称为全局池。此外,这些调节器表示特别处理变量数据。如果局部声明的变量不是静态,这个变量内存自动分配程序堆。非静态数组分配的自由内存也是在超出声明数组可见区时自动完成。
另见
数据类型, 类型密封和扩展,变量初始化, 可见范围和变量使用期, 创建和删除对象, Static Members of a Class