Cpp學習筆記三

2021-10-16 13:23:35 字數 1020 閱讀 9066

try語句

函式引數

函式返回值

生命期try語句用於處理程式異常

使用throw丟擲異常,在try語句塊**現的異常使用 catch進行捕獲

throw

runtime_error

("message"

)

來丟擲乙個異常

每個標準庫的異常類都有乙個名為what的函式,返回c風格字串

try

catch(.

..)

丟擲乙個異常時,首先搜尋丟擲異常的函式

若沒有找到匹配的catch,則終止該函式的執行,並執行呼叫者的匹配的catch,若仍然沒有找到,則層層上調。

若最終未找到,則函式將跳轉到名為terminate的函式中。

exception類

runtime_error

range_error

logic_error

invalid_error

…c++和c語言的引數基本上都是傳值,c語言可以通過傳遞指標來進行相應的操作

c++有一些不一樣的東西

void

swap

(int

&a,int

&b)

就是在函式宣告的時候就給它來乙個引數

預設實參只能提供給尾部實參

在乙個檔案中,只能為乙個實參指定預設實參一次

宣告的時候給它來乙個預設實參夠了

函式可以返回物件的引用,這樣子可以避免物件的複製

注意,千萬不能返回區域性物件的引用

模擬c語言的指標,返回乙個區域性物件的指標是沒有意義的

我覺得這個概念就是c語言的作用域,就是說得高大上了一點

但是生命期還是有和作用域不一樣的地方的

例如,c++的物件出了它的作用域就會被銷毀,分配的記憶體也會被銷毀

c語言明顯沒有記憶體自動管理機制,一切都得自己動手。這樣子才有掌控全域性的舒爽感嘛。

Cpp學習筆記(1)

1 記憶體申請 如果要申請20個結構體complex,那麼可以這樣寫 c的記憶體申請 complex arr complex malloc 20 sizeof complex c 釋放 complex arr new complex 20 delete arr申請時自動出構造,釋放時自動出析構。釋放...

Cpp學習筆記2

迴圈型別while 迴圈當給定條件為真時,重複語句或語句組。它會在執行迴圈主體之前測試條件。for 迴圈 多次執行乙個語句序列,簡化管理迴圈變數的 do.while 迴圈 除了它是在迴圈主體結尾測試條件外,其他與 while 語句類似。巢狀迴圈 您可以在 while for 或 do.while 迴...

CPP 學習筆記 多執行緒

知識點 自 linux 下編譯 帶的cpp需要加上 pthread 編譯選項。例如 g std c 11 pthread a.cpp qt creator 編譯帶的cpp有 暫時不知道怎麼去除!1 include v include using namespacestd void run char ...