關於c 函式匹配的乙個問題?

時間 2021-05-30 06:58:27

1樓:冒泡

精確匹配是說你這裡如果有個引數為char的過載,那就匹配這個,如果沒有,那剩下的int和short選int,因為比int短的整型的隱式提公升都是一步到int,而不是選最近的

2樓:白如冰

The following implicit conversions are classified as integral promotions:

signed charorsigned shortcan be converted to int;

出處:Implicit conversions

3樓:邱昊宇

這是你看書不走心所致。小標題以及正文寫得很清楚,這裡的例子是在說「需要型別提公升和算數型別轉換的匹配」,並不涉及「精確匹配」。

4樓:d41d8c

不矛盾。因為說的是不同的規則。

精確匹配強於型別提公升的例子:

void f(char); // #1

void f(int); // #2

f('a'); // 'a' -> char 是精確匹配,'a' -> int 是型別提公升實際呼叫哪個應該不必說了

就是這麼簡單明顯的東西。當作書上在故弄玄虛好了——雖然其實沒弄什麼玄虛,反而還簡化了實際的規則,不過具體細節知道了也沒什麼用

關於c 建構函式的問題?

Acjx A pnt1 newA A pnt2 new A 對於C 03標準來說,new A 一定是進行值初始化 value initialize 分為3種情況,如下 1.如果A是標量型別 例如 bool,int,char,double,指標 的話,A進行的是zero initialize,也就是用...

乙個關於C 模板的問題?

暮無井見鈴 用不著浮蓮子,這裡用繼承更直接。公用部分寫到 TestBase 裡。template T class TestBase template T struct is complex std false type template T struct is complex complex std...

關於C 在函式中建立指標的兩個問題?

已登出 指標就是個位址,好比你家房本指著你家房子在某地,你家房子那塊地因為拆遷被買走並不意味著你家房子立馬就被拆了,得等人家開發商決定要拆才會開始拆。還沒有被重新使用過的記憶體一般是不會去專門覆蓋原始的內容的。 RednaxelaFX 問題1 為什麼 delete ps 後仍然能輸出ps?這是未定義...