天天看點

C++ 靜态聯編與動态聯編

靜态聯編和動态聯編

1、聯編是指一個程式子產品、代碼之間互相關聯的過程。

2、靜态聯編(static binding),是程式的比對、連接配接在編譯階段實作,也稱為早期比對。

重載函數使用靜态聯編。

3、動态聯編是指程式聯編推遲到運作時進行,是以又稱為晚期聯編(遲綁定)。

switch 語句和 if 語句是動态聯編的例子。

1、C++與C相同,是靜态編譯型語言

2、在編譯時,編譯器自動根據指針的類型判斷指向的是一個什麼樣的對象;是以編譯器認為父類指針指向的是父類對象。

3、由于程式沒有運作,是以不可能知道父類指針指向的具體是父類對象還是子類對象

從程式安全的角度,編譯器假設父類指針隻指向父類對象,是以編譯的結果為調用父類的成員函數。這種特性就是靜态聯編。

繼續閱讀