gpt4 book ai didi

c++ - 在 main() 之前或之后声明函数有什么区别?

转载 作者:可可西里 更新时间:2023-11-01 17:36:58 25 4
gpt4 key购买 nike

有什么区别:

void function();

int main()
{......}

void function()
{......}

对比

void function()
{.......}

int main();

当您可以在 main 之前声明和定义它时,在 main 之前声明一个函数然后在 main 之后定义它似乎很奇怪。是出于审美目的吗?我的老师编写的函数类似于第一个示例。

最佳答案

它只是为了代码组织的目的(我猜是“美学”)。如果没有前向声明,您需要在使用每个函数之前编写它,但出于组织目的,您可能希望以不同的顺序编写函数的主体。

使用前向声明还允许您在最顶部的文件中给出定义的函数列表,而无需深入研究实现。

在相互递归函数的情况下,前向声明也是必要的。考虑这个(愚蠢的)例子:

bool is_odd(int);  // neccesary

bool is_even(int x) {
if (x == 0) {
return true;
} else {
return is_odd(x - 1);
}
}

bool is_odd(int x) {
return is_even(x - 1);
}

关于c++ - 在 main() 之前或之后声明函数有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21718361/

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