锐英源软件
第一信赖

精通

英语

开源

擅长

开发

培训

胸怀四海 

第一信赖

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

static CPolyTool polytool;
CPoint CDrawTool::c_down;
UINT CDrawTool::c_nDownFlags;
CPoint CDrawTool::c_last;
DrawShape CDrawTool:c_drawShape=selection;
CPtrList CDrawTool::c_tools;定义是这样的。
这个c_tools是个什么量啊?CPtrList应该是一堆指针的集合?这个初始化是什么意思?

CPtrList应该是一堆指针的集合,这个理解正确。这样定义一个static CSelectTool selectTool;对象,则会向c_tools集合里添加一个指针。集合里有指针,才能查找。

添加指针在构造函数里进行的。

所以这些就象自动化实现的一样。

注1:

初学者理解类型时,可以从名称里直观获取信息,这里Ptr代表指针,List是列表,结合起来就是指针列表。

注2:

要充分掌握基本理论,才好理解代码。静态成员在源文件里要定义才可以使用,这样的成员在类头文件里只声明是不能通过编译链接的。

注3:

MFC推出的早,它对STL功能有自己的实现,它的实现和后来标准STL机制完全不一样,比如MFC里有POSITION,但是在标准STL里就用了迭代器,这2者都对初学者不太友好,不好理解。其实都是指针的变种。

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