專題一之經典問題解析

2021-06-26 01:37:49 字數 2417 閱讀 5278

一.例項1:const與引用的問題

什麼是符號表?如何才能進入到符號表,成為真正的常量

(1)符號表是編譯器編譯過程中產生的資料結構

(2)volatile修飾的const常量不會進入到符號表中

如:volatile const int y =2; //不會進入符號表中

const引用的型別與初始化變數的型別

相同:使初始化變數成為唯讀變數

不同:生成乙個新的唯讀變數,其初始值與初始化變數相同。

二.例項2:指標與引用

指標與引用的區別:

* 指標式變數,其值是乙個記憶體位址。

* 引用只是乙個變數的新名字。

* 引用必須初始化,之後無法引用其他值。

* 理解引用的本質是指標常量

三. 案例3:過載

程式1:

程式2:

#include #include #include using namespace std;

int main()

}void func(const char* s)

int func(int a,int b)

int main()

說明:

(1)extern「c」告訴c++編譯器將其中的**進行c方式編譯

c方式編譯的主要按照c語言的規則對函式名進行編譯

(3)c編譯器不會在編譯後的函式名中加入引數資訊

注意:(可以從他們的彙編**中看出,)

extern「c」中的過載函式經過c方式編譯後將得到相同的函式名,因此extern「c」中不

允許函式過載,但是extern「c」裡面的函式可以與它之外的函式進行過載

專題一經典問題解析

什麼是符號表?引用與指標的疑惑 過載的疑惑 c方式編譯的疑惑?include int main volatie會使編譯器不做任何優化,每次都從記憶體中取值 include int main int main include using namespace std int main 什麼是符號表?符號...

5 專題一經典問題解析

1 const和引用的疑惑 include int main 2 符號表是編譯器在編譯過程中產生的關於源程式中語法符號的資料結構 如常量表 變數名錶 陣列名表 函式名錶等等 符號表是編譯器自用的內部資料結構 符號表不會進入最終產生的可執行程式中 3 只有用字面量初始化的const常量才會進入符號表 ...

專題一經典問題解析 7

一。const和引用的疑惑 include int main 輸出結果 2.什麼是符號表?符號表是編譯器在編譯過程中產生的關於源程式中語法符號的資料結構。如常量表 變數名錶 陣列名表 函式名錶。符號表是編譯器自用的內部資料結構 符號表不會進入最終產生的可執行程式中。3.上面程式疑惑解答 a。只有用字...