zoukankan      html  css  js  c++  java
  • (一)编程技巧

     在判断两个浮点数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))

  • 相关阅读:
    JAXB
    Servlet编码和解码
    FileUpload
    DataSource
    20200821 二分搜索
    火狐账户如何在Android手机端与电脑端同步
    20200807 贪心;排队接水;[AHOI2018初中组]分组;国王的游戏
    20200802 高精度问题 阶乘之和
    20200803 牛客多校赛
    20200207
  • 原文地址:https://www.cnblogs.com/xcb-1024day/p/11221879.html
Copyright © 2011-2022 走看看