编码规范培训ppt课件.ppt

编码规范培训ppt课件.ppt

ID:59240648

大小:243.00 KB

页数:35页

时间:2020-09-26

编码规范培训ppt课件.ppt_第1页
编码规范培训ppt课件.ppt_第2页
编码规范培训ppt课件.ppt_第3页
编码规范培训ppt课件.ppt_第4页
编码规范培训ppt课件.ppt_第5页
资源描述:

《编码规范培训ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、编码规范培训为什么要用编码规范为什么程序一大了自己都看不懂了?为什么编写的程序总是不稳定,总是出现非法操作提示和内存泄漏的现象?为什么我总是看不懂别人的代码?为什么我写的代码总是那么乱?为什么前几天写的代码现在就看不懂了?编码规范的重要性编码规范是软件开发项目团队的基础。编码规范能够大大提高我们对程序的理解力。编码规范能够让我们具有统一的编码风格。编码规范可以使我们的程序更加清晰易读。……规范一:程序注释与说明规范规范二:命名规范规范三:书写格式规范规范四:代码检查C++编码重要技巧参数检查;每个函数都有参数,这些参数在使用之前一定要进行检查,防止

2、使用无效值参数。C++编码重要技巧new和delete的使用new和delete容易造成的错误总结:1)内存的申请和分配并没有成功,但却使用。2)分配成功,却没有进行初始化就直接使用。3)上面的两种工作做好了,但操作时却越界。4)申请了内存,忘记了释放,导致内存泄露。5)你很小心地释放了内存,但是却又使用了它。6)多个指针同时指向一个内存区,造成多次释放或者误释放7)不用new申请对象,用malloc申请对象8)申请字符串,少申请了一个字符。如下代码是错误的内存的申请和分配并没有成功,但却使用。char*pszBuf;strcpy(pszBuf,”

3、helloWord”);如下代码是错误的分配成功,却没有进行初始化就直接使用char*pszBuf=newchar[1024];strcat(pszBuf,”helloWord”)下面代码是错误的操作越界char*pszBuf=newchar[1024];memset(pszBuf,NULL,1024+1);下面代码是错误的申请了内存,忘记了释放,导致内存泄露;while(1){char*pszBuf=newchar[1024];memset(pszBuf,NULL,1024);strcpy(pszBuf,”helloword”);……}下面代码是

4、错误的你很小心地释放了内存,但是却又使用了它;char*pszBuf=newchar[1024];memset(pszBuf,NULL,1024);strcpy(pszBuf,”hello”);……delete[]pszBuf;……strcat(pszBuf,”nihao”);下面代码是错误的多个指针同时指向一个内存区,造成多次释放或者误释放;char*pszBuf=newchar[1024];……SetBuf(pszBuf);delete[]pszBuf;voidSetBuf(char*szBuf){……delete[]szbuf;}下面代码是错

5、误的申请字符串,少申请了一个字符。char*pszBuf=newchar[3];memset(pszBuf,NULL,3);strcpy(pszBuf,”aaa”);……delete[]pszBuf;下面操作是错误的不用new申请对象,用malloc申请对象classCStudent{……};CStudent*pStu=(CStudent*)malloc(sizeof(CStudent));举例如何在C++中用好指针申请内存如下写肯定不会有错误;1)局部变量char*pszBuf=NULL;pszBuf=newchar[1024];memset(p

6、szBuf,NULL,1024);……if(pszBuf!=NULL)delete[]pszBuf;pszBuf=NULL;举例如何在C++中用好指针申请内存如下写肯定不会有错误;2)全局变量char*g_pszBuf=NULL;……if(g_pszBuf!=NULL)delete[]g_pszBuf;g_pszBuf=newchar[1024];memset(g_pszBuf,NULL,1024);……类成员指针使用如何实现从函数内部返回指针内容char*GetBuf(){char*pszBuf=newchar[1024];……returnpsz

7、Buf;}如何实现从函数内部返回指针内容char*g_pszRet=NULL;char*GetBuf(){if(g_pszRet!=NULL)delete[]g_pszRet;g_pszRet=newchar[1024];……returng_pszRet;}获得函数的执行结果voidGetBuf(……,char*pszRet,intnSize){if(pszRet==NULL)return;memset(pszRet,NULL,nSize);……strcpy(pszRet,”helloword”);}文件操作常出现的错误FILE*fp=fopen(

8、“C:\temp.txt”,”rb”);if(fp==NULL){return;}fclose(fp);链表使用的技巧H

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。