程式設計中的小技巧和注意

來源:互聯網
上載者:User

1、可以在檔案的頭部定義一個__DEBUG宏,值為1,來標記程式處於調試階段還是執行階段。這樣在調試的部分就可以用if(__DEBUG)來包含調試資訊,而不需要調試資訊時,可以直接將__DEBUG宏定義為0.這樣很方便,而且需要屏蔽部分調試資訊時,只需要使用if(! __DEBUG)就可以了。

 

2、比較複雜的函數寫完之後,可以先進行單元測試,保證功能上執行的正確性,這樣其實避免了在一整個程式中去找bug出現在哪裡就方便的多了,時間也節省下來了。

 

 

3、//const只能用於類的成員函數,普通的函數不能使用const來修飾。

如:下面的函數是錯誤的,無法編譯通過
int cal(int a,int b) const{
 
 return a+b ;
}

 

4、//字元數組用0填充後,對應的元素為'/0',而不是'0'

    char a[5];
    memset(a,0,sizeof(a));
    assert(a[0] == '/0');
    cout<<a[0]<<"1"<<endl;

'/0'的在終端顯示為一個空位,不列印任何字元。'/0'就是“Null 字元”。

 

5、//字元數組可以使用memset函數進行拷貝,參數直接使用數組名,而不是數組的首元素地址。

   char kk[2][2]={
     '1','2','2','2'
    };
    char cc[2][2];
    memcpy(cc,kk,sizeof(kk));
   
    for(int i=0 ; i<2 ;i++){
     
     for(int j=0 ; j<2 ;j++){
      
      cout<<cc[i][j]<<" ";
     }
     cout<<endl;
    }

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.