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.
快速比對工具