C++默認引數及其本質
1. 概述
- 概述
- C++ 允許函式設定默認引數,在呼叫時可以根據情況省略實參
- 其規則如下
- 默認引數只能按照從右到左的順序,
- 如果函式同時有宣告、實作、默認引數只能放在函式宣告中
- 默認引數的值可以是常量、全域符號(全域變數、函式名)
- 實體1:默認引數只能按照從右到左的順序、默認引數的值可以是常量、全域符號(全域變數、函式名)

- 實體2:如果函式同時有宣告、實作,默認引數只能放在函式宣告中

- 注意:
- 函式多載、默認引數可能會產生沖突、二義性(建議優先選擇使用默認引數)

- 函式多載、默認引數可能會產生沖突、二義性(建議優先選擇使用默認引數)
2. 默認引數的本質
- 我們先看下面的這張圖片

- 由上面的這張圖片我們可以看到,defaultPar函式使用了默認引數,而test函式沒有使用默認引數,但是當它們被翻譯成匯編指令之后,都是先將引數入堆疊,然后使用call命令呼叫函式,即函式呼叫的邏輯是相同的,由此可知,所謂的默認引數其實是針對語法層面上的,在轉換為匯編指令之后,所執行的操作其實與普通的傳參并無區別,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/491068.html
標籤:C++
上一篇:如何在OpenCV中將單個xy映射轉換為2通道矩陣映射?
下一篇:C 語言流程控制
