(一)编程技巧

 在判断两个浮点数a和b是否相等时,不要用a==b;应该判断两者之差的绝对值fabs(a-b)是否小于某个阈值,例如:1e - 9 ;

判断一个整数是否为奇数时使用x%2!=0;不要用x%2==1;,应为x可能是负数。

用char的值作为下标(例如:统计数字中每个字符出现的次数),要考虑到char可能是负数。有人考虑到了,先强转为了unsigned int 再用作下标,这仍是错误的。正确的做法是,先强转为 unsigned char ,再作为下标

vector 和string 优先于动态分配的数组

  首先:在性能上,由于vector能够保证连续的内存,因此一旦分配了后,它的性能跟原始数组是相当:

  其次:如果用new,意味着你要确保要在后面用delete ,一旦忘记了就会产生bug,且这样都要写一行delete,代码不够短。

  再次,声明多维数组的话,只能一个一个的new,例如:      

       int **array=new int *[row_now];

  for(int i=0;i<row;++i)

  {

    ary[i]=new int [col_num];

  } 

如果用vector的话一行代码就能搞定:

vector<vector<int> >    ary(row_num,vector<int> (col_num,0))

 

转载于:https://www.cnblogs.com/xcb-1024day/p/11221879.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值