日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
C++ assert()函數(shù)應(yīng)用方式剖析

作為一個(gè)經(jīng)驗(yàn)豐富的編程人員來(lái)說(shuō),對(duì)于C++編程語(yǔ)言應(yīng)該不會(huì)陌生的,它的應(yīng)用可以幫助我們輕松的實(shí)現(xiàn)各種功能需求。在這里我們會(huì)對(duì)C++ assert()函數(shù)的一些基本應(yīng)用做一個(gè)詳細(xì)介紹。

成都創(chuàng)新互聯(lián)主要為客戶提供服務(wù)項(xiàng)目涵蓋了網(wǎng)頁(yè)視覺(jué)設(shè)計(jì)、VI標(biāo)志設(shè)計(jì)、營(yíng)銷網(wǎng)站、網(wǎng)站程序開(kāi)發(fā)、HTML5響應(yīng)式重慶網(wǎng)站建設(shè)公司、移動(dòng)網(wǎng)站建設(shè)、微商城、網(wǎng)站托管及成都企業(yè)網(wǎng)站維護(hù)、WEB系統(tǒng)開(kāi)發(fā)、域名注冊(cè)、國(guó)內(nèi)外服務(wù)器租用、視頻、平面設(shè)計(jì)、SEO優(yōu)化排名。設(shè)計(jì)、前端、后端三個(gè)建站步驟的完善服務(wù)體系。一人跟蹤測(cè)試的建站服務(wù)標(biāo)準(zhǔn)。已經(jīng)為成都OPP膠袋行業(yè)客戶提供了網(wǎng)站開(kāi)發(fā)服務(wù)。

assert宏的原型定義在< assert.h>中,其作用是如果它的條件返回錯(cuò)誤,則終止程序執(zhí)行,原型定義:

 
 
 
  1. #include < assert.h>   
  2. void assert( int expression );  

C++ assert()函數(shù)的作用是現(xiàn)計(jì)算表達(dá)式 expression ,如果其值為假(即為0),那么它先向stderr打印一條出錯(cuò)信息,然后通過(guò)調(diào)用 abort 來(lái)終止程序運(yùn)行。請(qǐng)看下面的程序清單badptr.c:

 
 
 
  1. #include < stdio.h>   
  2. #include < assert.h>   
  3. #include < stdlib.h>   
  4. int main( void )   
  5. {   
  6. FILE *fp;   
  7. fp = fopen( "test.txt", "w" );
    //以可寫(xiě)的方式打開(kāi)一個(gè)文件,如果不存在就創(chuàng)建一個(gè)同名文件   
  8. assert( fp ); //所以這里不會(huì)出錯(cuò)   
  9. fclose( fp );   
  10. fp = fopen( "noexitfile.txt", "r" );
    //以只讀的方式打開(kāi)一個(gè)文件,如果不存在就打開(kāi)文件失敗   
  11. assert( fp ); //所以這里出錯(cuò)   
  12. fclose( fp ); //程序永遠(yuǎn)都執(zhí)行不到這里來(lái)   
  13. return 0;   
  14. }   
  15. [root@localhost error_process]# gcc badptr.c   
  16. [root@localhost error_process]# ./a.out   
  17. a.out: badptr.c:14: main: Assertion `fp' failed.  

已放棄

使用C++ assert()函數(shù)的缺點(diǎn)是,頻繁的調(diào)用會(huì)極大的影響程序的性能,增加額外的開(kāi)銷。 在調(diào)試結(jié)束后,可以通過(guò)在包含#include < assert.h>的語(yǔ)句之前插入 #define NDEBUG 來(lái)禁用assert調(diào)用,示例代碼如下:

 
 
 
  1. #include < stdio.h>   
  2. #define NDEBUG   
  3. #include < assert.h> 

以上就是對(duì)C++ assert()函數(shù)的相關(guān)介紹。

【編輯推薦】

  1. C++ Memento模式應(yīng)用法則
  2. C++內(nèi)存對(duì)齊詳細(xì)使用指南
  3. C++常規(guī)DLL應(yīng)用方式介紹
  4. C++冒泡排序基本應(yīng)用技巧分享
  5. C++ Vector用法深入剖析

分享名稱:C++ assert()函數(shù)應(yīng)用方式剖析
文章起源:http://www.dlmjj.cn/article/cojoigc.html