锐英源软件
第一信赖

精通

英语

开源

擅长

开发

培训

胸怀四海 

第一信赖

当前位置:锐英源 / 开源技术 / C++开源心得 / CWordArray非法操作
服务方向
人工智能数据处理
人工智能培训
kaldi数据准备
小语种语音识别
语音识别标注
语音识别系统
语音识别转文字
kaldi开发技术服务
软件开发
运动控制卡上位机
机械加工软件
软件开发培训
Java 安卓移动开发
VC++
C#软件
汇编和破解
驱动开发
联系方式
固话:0371-63888850
手机:138-0381-0136
Q Q:396806883
微信:ryysoft

锐英源精品开源,禁止转载和任何形式的非法内容使用,违者必究


CWordArray非法操作

背景

有一个非法操作是因为对下标使用不合适造成的,在动态数组里面没有项,就用中括号向项赋值导致了非法操作,要想避免此问题 在赋值前先添加项。下面结合CWordArray进行演示,演示前先说明下CWordArray类。

CWordArray

MFC的泛型数组类支持的数组类似于C++中的常规数组,可以存放任何数据类型。C++的常规数组在使用前必须将其定义长度,这样才能够容纳所有可能需要的元素,而MFC泛型数组类创建的对象可以根据需要动态地增大或减小,数组的起始下标是0,而上限可以是固定的,也可以随着元素的增加而增加。

CWordArray数组类的变量类型是16位无符号整数WORD类型,变量数值范围为0-65535,头文件是Afxcoll.h。

边界                          操作

GetSize() 返回数组大小             FreeExtra()释放已申请但没有使用的多余内容

GetUpperBound() 返回数组上界 RemoveAll()清空数组    

SetSize() 设设置数组长度   

元素访问                               增长数组

GetAt() 返回数组中指定位置的值          SetAtGrow 设置数组的增长幅度  

SetAt() 设置数组中指定位置的值          Add 向数组添加元素  

ElementAt 返回数组中指定位置的临时引用        Append 将其它数组添加到本数组  

GetData 以指针形式返回数组                    Copy 将其它数组复制到本数组   

插入删除                              操作符

InsertAt   向数组插入元素或其它数组           operator   []   支持以数组方式访问   

RemoveAt   从数组中删除元素   

出错代码说明

CWordArray  arr;

arr [0] = value;//在数组中没有项时会出现非法操作

考虑到动态数组中没有项的时候是不能用中括号访问动态数组下标的方式进行直接赋值的,所以在赋值之前先添加项。

arr.Add(j);

友情链接
版权所有 Copyright(c)2004-2021 锐英源软件
公司注册号:410105000449586 豫ICP备08007559号 最佳分辨率 1024*768
地址:郑州大学北校区院(文化路97号院)内