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

计算机视觉(模式识别,图像处理)这个行业,从本质上来说,依然属于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编程指南》正好是介绍编程规范的;建议有兴趣的朋友一定抽空仔细研读一下;需要的朋友可以去这里下载:

http://download.csdn.net/detail/carson2005/5236010

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值