資料介紹
本文檔的詳細(xì)介紹的是C++程序設(shè)計(jì)教程之C++工具的詳細(xì)資料說明主要內(nèi)容包括了:1. 異常處理,2. 命名空間,3. 使用早期的函數(shù)庫(kù)
在C++發(fā)展的后期,有時(shí)C++編譯系統(tǒng)根據(jù)實(shí)際工作的需要,增加了一些功能,作為工具來使用,其中主要有模板(包括函數(shù)模板和類模板)、異常處理、命名空間和運(yùn)行時(shí)類型識(shí)別,以幫助程序設(shè)計(jì)人員更方便地進(jìn)行程序的設(shè)計(jì)和調(diào)試工作。1997年ANSI C++委員會(huì)將它們納入了ANSI C++標(biāo)準(zhǔn),建議所有的C++編譯系統(tǒng)都能實(shí)現(xiàn)這些功能。這些工具是非常有用的,C++的使用者應(yīng)當(dāng)盡量使用這些工具。
異常處理的任務(wù)
程序編制者不僅要考慮程序沒有錯(cuò)誤的理想情況,更要考慮程序存在錯(cuò)誤時(shí)的情況,應(yīng)該能夠盡快地發(fā)現(xiàn)錯(cuò)誤,消除錯(cuò)誤。
程序中常見的錯(cuò)誤有兩大類: 語(yǔ)法錯(cuò)誤和運(yùn)行錯(cuò)誤。在編譯時(shí),編譯系統(tǒng)能發(fā)現(xiàn)程序中的語(yǔ)法錯(cuò)誤。
有的程序雖然能通過編譯,也能投入運(yùn)行。但是在運(yùn)行過程中會(huì)出現(xiàn)異常,得不到正確的運(yùn)行結(jié)果,甚至導(dǎo)致程序不正常終止,或出現(xiàn)死機(jī)現(xiàn)象。這類錯(cuò)誤比較隱蔽,不易被發(fā)現(xiàn),往往耗費(fèi)許多時(shí)間和精力。這成為程序調(diào)試中的一個(gè)難點(diǎn)。
在設(shè)計(jì)程序時(shí),應(yīng)當(dāng)事先分析程序運(yùn)行時(shí)可能出現(xiàn)的各種意外的情況,并且分別制訂出相應(yīng)的處理方法,這就是程序的異常處理的任務(wù)。
在運(yùn)行沒有異常處理的程序時(shí),如果運(yùn)行情況出現(xiàn)異常,由于程序本身不能處理,程序只能終止運(yùn)行。如果在程序中設(shè)置了異常處理機(jī)制,則在運(yùn)行情況出現(xiàn)異常時(shí),由于程序本身已規(guī)定了處理的方法,于是程序的流程就轉(zhuǎn)到異常處理代碼段處理。用戶可以指定進(jìn)行任何的處理。
需要說明,只要出現(xiàn)與人們期望的情況不同,都可以認(rèn)為是異常,并對(duì)它進(jìn)行異常處理。因此,所謂異常處理指的是對(duì)運(yùn)行時(shí)出現(xiàn)的差錯(cuò)以及其他例外情況的處理。
在一個(gè)小的程序中,可以用比較簡(jiǎn)單的方法處理異常。但是在一個(gè)大的系統(tǒng)中,如果在每一個(gè)函數(shù)中都設(shè)置處理異常的程序段,會(huì)使程序過于復(fù)雜和龐大。因此,C++采取的辦法是: 如果在執(zhí)行一個(gè)函數(shù)過程中出現(xiàn)異常,可以不在本函數(shù)中立即處理,而是發(fā)出一個(gè)信息,傳給它的上一級(jí)(即調(diào)用它的函數(shù)),它的上級(jí)捕捉到這個(gè)信息后進(jìn)行處理。如果上一級(jí)的函數(shù)也不能處理,就再傳給其上一級(jí),由其上一級(jí)處理。如此逐級(jí)上送,如果到最高一級(jí)還無法處理,最后只好異常終止程序的執(zhí)行。
這樣做使異常的發(fā)現(xiàn)與處理不由同一函數(shù)來完成。好處是使底層的函數(shù)專門用于解決實(shí)際任務(wù),而不必再承擔(dān)處理異常的任務(wù),以減輕底層函數(shù)的負(fù)擔(dān),而把處理異常的任務(wù)上移到某一層去處理。這樣可以提高效率。
C++處理異常的機(jī)制是由3個(gè)部分組成的,即檢查(try)、拋出(throw)和捕捉(catch)。把需要檢查的語(yǔ)句放在try塊中,throw用來當(dāng)出現(xiàn)異常時(shí)發(fā)出一個(gè)異常信息,而catch則用來捕捉異常信息,如果捕捉到了異常信息,就處理它。
- C++程序設(shè)計(jì)教程之輸入輸出流的詳細(xì)資料說明 8次下載
- C++程序設(shè)計(jì)教程之指針的詳細(xì)資料說明 7次下載
- C++程序設(shè)計(jì)教程之基于對(duì)象的程序設(shè)計(jì)的詳細(xì)資料說明 5次下載
- C++程序設(shè)計(jì)教程之數(shù)據(jù)類型與表達(dá)式的詳細(xì)資料說明 0次下載
- C++程序設(shè)計(jì)教程之C++的初步知識(shí)的詳細(xì)資料說明 31次下載
- C++程序設(shè)計(jì)教程之數(shù)組的詳細(xì)資料說明 10次下載
- Visual C++程序設(shè)計(jì)教程之屬性單和屬性頁(yè)的詳細(xì)資料說明 4次下載
- Visual C++程序設(shè)計(jì)教程之MFC中的資源與界面設(shè)計(jì)的詳細(xì)資料說明 8次下載
- C++程序設(shè)計(jì)教程之語(yǔ)句的詳細(xì)資料說明 1次下載
- C++程序設(shè)計(jì)教程之繼承的詳細(xì)資料說明 98次下載
- C++程序設(shè)計(jì)教程之類的詳細(xì)資料說明 2次下載
- C++程序設(shè)計(jì)教程之數(shù)據(jù)類型的詳細(xì)資料說明 3次下載
- C++的實(shí)驗(yàn)教程之循環(huán)結(jié)構(gòu)程序設(shè)計(jì)的詳細(xì)資料說明 4次下載
- C++語(yǔ)言入門教程之C++語(yǔ)言程序設(shè)計(jì)函數(shù)的詳細(xì)資料概述免費(fèi)下載 23次下載
- C++語(yǔ)言入門教程之C++語(yǔ)言程序設(shè)計(jì)數(shù)組的詳細(xì)資料概述免費(fèi)下載 9次下載
- C++簡(jiǎn)史:C++是如何開始的 637次閱讀
- C語(yǔ)言和C++中那些不同的地方 985次閱讀
- 用C++構(gòu)建自己的GPT文檔工具 646次閱讀
- 用OpenVINO? C++ API編寫YOLOv8-Seg實(shí)例分割模型推理程序 1666次閱讀
- 如何把C++程序改寫成C語(yǔ)言 3392次閱讀
- C++程序異常處理機(jī)制是什么 895次閱讀
- C與C++混合編程是什么 1744次閱讀
- C++項(xiàng)目常見的命名規(guī)范 2116次閱讀
- C++語(yǔ)言的發(fā)展 617次閱讀
- C/C++基礎(chǔ)知識(shí)匯總 2437次閱讀
- C語(yǔ)言和C++的特點(diǎn)與用法詳細(xì)說明 4444次閱讀
- C++的異常機(jī)制底層原理與實(shí)際應(yīng)用詳細(xì)說明 3205次閱讀
- C++:引用的使用場(chǎng)景 4092次閱讀
- C++封裝:this指針 3492次閱讀
- C++的這些資源你多知道嗎?國(guó)外程序員整理的C++資源大全 5664次閱讀
下載排行
本周
- 1常用電子元器件集錦
- 1.72 MB | 24485次下載 | 免費(fèi)
- 2ssd1306單片 CMOS OLED/PLED 驅(qū)動(dòng)芯片中文手冊(cè)
- 1.66 MB | 4次下載 | 1 積分
- 3低壓降肖特基整流管SR340L數(shù)據(jù)手冊(cè)
- 0.78 MB | 2次下載 | 免費(fèi)
- 4高壓MOS管MDD12N65F/MDD12N65P數(shù)據(jù)手冊(cè)
- 2.36 MB | 2次下載 | 免費(fèi)
- 5FP6195 60V、800mA、480KHz異步降壓轉(zhuǎn)換器規(guī)格書
- 0.88 MB | 2次下載 | 免費(fèi)
- 6CPCI6310型復(fù)合視頻采集板資料
- 0.04 MB | 1次下載 | 免費(fèi)
- 7STM32F10xxx參考手冊(cè)
- 13.64 MB | 1次下載 | 1 積分
- 8PC2456高壓浪涌抑制器控制器數(shù)據(jù)手冊(cè)
- 3.03 MB | 1次下載 | 免費(fèi)
本月
- 1常用電子元器件集錦
- 1.72 MB | 24485次下載 | 免費(fèi)
- 2三相逆變主電路的原理圖和PCB資料合集免費(fèi)下載
- 27.35 MB | 111次下載 | 1 積分
- 3運(yùn)算放大器基本電路中文資料
- 1.30 MB | 16次下載 | 免費(fèi)
- 4蘋果iphone 11電路原理圖
- 4.98 MB | 12次下載 | 5 積分
- 5常用電子元器件介紹
- 3.21 MB | 10次下載 | 免費(fèi)
- 6EMC電路設(shè)計(jì)工程師必備的EMC基礎(chǔ)
- 0.42 MB | 6次下載 | 2 積分
- 7相關(guān)協(xié)議信號(hào)總結(jié)
- 0.94 MB | 4次下載 | 免費(fèi)
- 8ssd1306單片 CMOS OLED/PLED 驅(qū)動(dòng)芯片中文手冊(cè)
- 1.66 MB | 4次下載 | 1 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935130次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191390次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183345次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81591次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73816次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65989次下載 | 10 積分
評(píng)論