Quantcast
Channel: CSDN博客推荐文章
Viewing all articles
Browse latest Browse all 35570

推荐一本书---高质量c++/c编程指南

$
0
0

                计算机视觉(模式识别,图像处理)这个行业,从本质上来说,依然属于IT领域。个人认为,一个合格的计算机视觉算法工程师,不仅要熟悉各种常用的视觉分析、模式识别、机器学习算法,更好懂得如何编程来实现这些算法;换而言之,计算机视觉算法工程师 = 算法工程师 + 程序员;一个合格的计算机视觉算法工程师,如果不想从事算法研究工作,而只做编程的工作,应该很容易;但实际上,很多计算机视觉算法工程师写的代码,往往漏洞百出,健壮性不够,稳定性也很差,更别谈什么长期稳定高效的运行了;那些代码,往往运行3,5个小时,不是崩溃,就是内存泄露,或者干脆莫名其妙的直接挂掉了;其实,很多时候,不是你的程序不对,或者逻辑有问题,问题很可能在于你的编程并不规范,你的代码健壮性并不好。这里,笔者试着举几个例子来说明:

(1)不判断除数是否为0;

int iA,iB,iC;

....

iC = iA/iB;(当iB==0时,这里可能会崩溃的!


(2)浮点数跟0比较大小;

float fVal;

...

if(fVal == 0)(浮点数在计算机里面,不见得是保存为0的

{

...

}


(3)变量取名不规范

int temp, t,s,ou;(哪位大仙能看懂这些变量的含义?


(4)不判断函数返回值

IplImage* pSrcImg = cvLoadImage("test.jpg");(pSrcImg是否加载成功?)

cvCvtColor(pSrcImg, pGrayImg);


        well,上面的几个错误,是笔者曾经犯过的,也是笔者经常见到周围人正在犯的;这些错误,可能你会觉得不屑一顾,但往往在某些关键时刻,程序就是莫名其妙的挂掉,任凭你抓耳挠腮,就是搞不定!当你第一次遇到这些情况,情有可原;遇到第二次,是你不小心;第三次呢?第N次?你是否该思考一下,为何你的代码总是爱出问题,是不是要改变你那不良的编程习惯了呢?

笔者最近阅读的一本书《高质量c++/c编程指南》正好是介绍编程规范的;建议有兴趣的朋友一定抽空仔细研读一下;


作者:carson2005 发表于2013-4-9 0:31:04 原文链接
阅读:147 评论:0 查看评论

Viewing all articles
Browse latest Browse all 35570

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>