??????c++?У??????????????????????????????ú?????????????????????????????????????????????????????????????

??????????c++???

int add(int a = 1?? int b = 2) {//????a b??????
    return a + b;
}
int main() {
   int c= add();//????????
 
}

??????????mian?????????????

; 4    : int main() {

    push    ebp
    mov    ebp?? esp
    push    ecx;????????c??????4????洢??? ecx?32λ?????

; 5    :    int c= add();

    push    2;??2??????add??????b?????????? ??????????????????????
    push    1;??1??????add??????a??????????
    call    add@@YAHHH@Z                ; ????add????
    add    esp?? 8;??????add??????????????
    mov    DWORD PTR _c$[ebp]?? eax;eax???????????add???????????д?????c????

; 6    :  
; 7    : }

    xor    eax?? eax
    mov    esp?? ebp
    pop    ebp
    ret    0

??????????add??????????

add@@YAHHH@Z PROC                    ; add

; 1    : int add(int a = 1?? int b = 2) {

    push    ebp
    mov    ebp?? esp

; 2    :     return a + b;

    mov    eax?? DWORD PTR _a$[ebp];??????a???д??????eax
    add    eax?? DWORD PTR _b$[ebp];??????b????????eax?????????????????eax?????

; 3    : }

    pop    ebp
    ret    0
?add@@YAHHH@Z ENDP

??????????????????????????

???????c++???

int add(int a = 1?? int b = 2) {//????a b??????
    return a + b;
}
int main() {
   int a = 3;
   int c= add(a);//??a??????
 
}