1.預設引數的意思就是  予以形參預設值

2. C++允許函式設定預設引數,在呼叫時可以根據情況省略實參。規則如下:

預設引數只能按照右到左的順序

如果函式同時有宣告、實現,預設引數只能放在函式宣告中

因為函式呼叫一般是放在main的前面

如果放在main後面的的話

這時需要在函式的最前面發出宣告,預設引數只能放在函式宣告中

函式的實現啥也不寫就是viod sum(int a,int b){

a+b}

預設引數的值可以是常量、全域性符號(全域性變數、函式名)

全域性變數如下r圖:

3.預設引數只能按照右到左的順序,,這個的意思就是以

viod sum(int a=5,int b){}

main{

sum(10)

}

以呼叫sum(10) 為判斷物件,這樣a=10,b???故不可信

所以總結出的意思就是以右邊開始預設引數賦值,且不能空一個引數(int  a=1,int b, int c=2)也是不行的

4.預設引數的值可以是常量、全域性符號(全域性變數、函式名)

呼叫時:func(10,test)

不過必須通過指向函式  的指標   viod(*p)(int)=test {

p(v1)

}

p(v1)=test(v1)

5.

如果函式的實參經常是同一個值,
可以考慮使用預設引數

6.c語言沒有預設引數

7.函式過載、預設引數可能會產生衝突、二義性(建議優先選擇使用預設引數)

8.

接上上一集疑問,右擊,顯示程式碼位元組,,,就會顯示出機器碼,倆個機器碼代表一個位元組

9.接上一集不能進入到反彙編裡面  就上面圖上,不能夠到更加內部,不是的display(1,2)

那麼就是看左邊斷點的箭頭

當斷點push 1

push 2

之後到了  call   display()時 按F11  才可以進入更加內部

10.

viod sum(int a,int b=4){a+b}

main{

sum(1)

sum(1.4)}

sum(1)

sum(1.4)等同的

都是push 1

push 4

11.

12.

快速比對工具