gpt4 book ai didi

c++ - 初始化参数时会发生什么? C++

转载 作者:搜寻专家 更新时间:2023-10-30 23:53:28 26 4
gpt4 key购买 nike

void foo (int i , int k = 7) {
cout << k;
}

int main(){
foo(1, 2);
}

k 将输出 2。我的问题是,foo 以什么顺序初始化参数并获取参数? foo得到2的过程是怎样的,谢谢

最佳答案

 void foo (int i , int k = 7);

这个原型(prototype)意味着如果你只用第一个参数调用 foo,第二个参数会隐式设置为 7。

    foo(1, 2);  // i=1, k=2
foo(5); // <==> foo(5, 7) i=1, k=7

此机制由编译器在编译时解决。每当缺少参数 k 调用 foo 时,编译器会自动将其插入值 7(即 foo(5))。如果没有丢失,则采用实际参数(即 foo(1, 2))。

关于c++ - 初始化参数时会发生什么? C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40954623/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com