- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C中级培训课件汇编
王慧清 C++中级培训 —实践篇 课程内容 * 安全规则 编程常用技能 程序如何设计 安全规则 * 内存释放 防止内存越界 变量初始化 内存释放 * 防止引用已经释放的内存空间; 在实际编程过程中,稍不留心就会出现在一个模块中释放了某个内存块(如C语言指针),而另一模块在随后的某个时刻又使用了它。要防止这种情况发生 过程/函数中分配的内存,在过程/函数退出之前要释放; 过程/函数中申请的(为打开文件而使用的)文件句柄,在过程/函数退出之前要关闭; 内存操作主要是指对数组、指针、内存地址等的操作。内存操作越界是软件系统主要错误之一,后果往往非常严重,所以当我们进行这些操作时一定要仔细小心。 char str[100]; memset(str, 0, 128); //忘记了此数组的长度,不小心造成了越界 memset(str, 0, sizeof(str)); //这样是安全的。izeof(str)); //这样是安全的 防止内存越界 * Student stu; memset(stu, 0, sizeof(Teachar)); //由于复制粘贴后忘记修改结构体变量,造成了越界 memset(stu, 0, sizeof(Student)); //这样是正确的。 系统运行之初要初始化有关变量,防止未经初始化的变量被引用 未经初始化指针引起系统崩溃 使用未经初始化变量赋值造成脏数据 Student *p; Sprintf (p-name, “Jeep”);izeof(str)); //这样是安全的 变量初始化 * Student stu; long lScore = stu.englishScore; //错误。使用未初始化数据造成脏数据 memset (stu, 0, sizeof(Student)); long lScore = stu.englishScore; //正确。memset后再使用 #ifndef extern qsort STL算法应用-sort 模板函数 模板类 编程常用技能 * #ifndef x #define x ... #endif 条件指示符#ifndef是宏定义的一种,它可以根据是否已经定义了一个变量来进行分支选择,最主要目的是防止头文件的重复包含和编译。 #ifndef x //先测试x是否被定义过 #define x //如果没有定义下面就定义x并执行下面的语句 ... #endif //如果已经定义了则执行#endif后面的语句 #ifndef * extern可以置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。 在*.c文件中声明了一个全局的变量,这个全局的变量如果要被引用,就放在*.h中并用extern来声明。 如果函数的声明中带有关键字extern,仅仅是暗示这个函数可能在别的源文件里定义,没有其它作用。(个人习惯,建议使用) Extern用于进行链接指定。 C++语言在编译的时候为了解决函数的多态问题,会将函数名和参数联合起来生成一个中间的函数名称,而C语言则不会,因此会造成链接时找不到对应函数的情况,此时C函数就需要用extern “C”进行链接指定。 //在.h文件的头上 #ifdef __cplusplus #if __cplusplus extern C{ #endif #endif /* __cplusplus */ … extern * //.h文件结束的地方 #ifdef __cplusplus #if __cplusplus } #endif #endif /* __cplusplus */ 函数原型: void qsort (void *base, size_t num, size_t size, int (* comparator) (const void *, const void *)); 参数说明: void * base:数组起始地址 size_t num:数组元素个数 size_t size:每一个元素的大小 int (* comparator) (const void *, const void *):函数指针,指向比较函数 例子: qsort * vector声明: vectorstFileInfo * mFileList; 排序函数定义 调用排序函数 STL算法应用-sort * 函数声明templateclass D void clearDataList (vectorD* vList); 函数定义
您可能关注的文档
- 【名师A计划】2017届高考政治一轮复习第八单元当代国际社会第20课维护世界和平促进共同发展.ppt
- 【名师面对面】2016高考物理大一轮复习第七章第1讲电阻定律欧姆定律串、并联电路.ppt
- BILT治疗仪介绍(科室版2014).ppt
- 【备考2016中考政治】中考政治试考点研究【专题一】创新驱动中国,科技引领未来(34页).ppt
- 【化学】3.2《几种重要的金属化合物》1(人教版必修1).ppt
- ATO铝合金轮毂电镀WholePresentationJul03(WheeltechTraining).ppt
- 【备考导航】2016届高三物理二轮复习专题辅导与应用(+课时过关)第1部分专题五物理实验第1讲.ppt
- BLARNEYSTONE.pptx
- 【备考导航】2016届高三物理二轮复习专题辅导与应用(+课时过关)第1部分专题六选考模块.ppt
- 【备考导航】2016届高三物理二轮复习专题辅导与应用(+课时过关第1部分专题一力与物体的平衡第1讲.ppt
最近下载
- 2017年版2020年修订高中课程标准培训《高中体育与健康课程标准的继承、创新与发展》.ppt VIP
- N2010色谱工作站说明书.doc VIP
- 2017年版2020年修订高中课程标准培训《基于学科核心素养的高中体育与健康教学改革》.ppt VIP
- 涂塑钢管焊接施组方案.pptx VIP
- TCECS1179-2022 预铺防水卷材应用技术规程.pdf VIP
- 普通高中体育与健康课程标准2017年版2020年修订解读与培训课件.pptx VIP
- 2025届高考数学复习 解析几何 备考策略课件.pptx
- 仪表实操题集.doc VIP
- 2023年煤矿企业安全生产管理人员考试题库.pdf VIP
- 【总结】水利工程建设监理工作总结报告..docx VIP
文档评论(0)