int main()函数的位置

时间:2015-03-12 20:59:47

标签: c++ function styles main writing

我知道以这种方式编写代码是可能的:

void foo() {...}
void bar() {...}
string qix(){...}

int main() 
{
//functions calling
}

也可以这样写:

/* function's prototypes here*/

int main()
{
//functions calling
}

void foo() {...}
void bar() {...}
string qix(){...}

那么,如果我想创建一个好看,可理解的代码,那么放置main()函数的最佳方法是什么?我应该在描述其他功能之前/之后放置它吗?通常使用哪种变体?

4 个答案:

答案 0 :(得分:2)

当程序在C而不是C ++时,我总是把我的main函数放在start,所以如果有人或你自己想看程序逻辑,那么可以看到而不需要去文件结束,如果任何人对任何功能都有疑问,只需向下滚动即可。 这是我的意见。 在优化方面是一样的。 在C ++中,我的main方法只有几行,所有函数都在类中。

所以就是这样:

int main()
{
//functions calling
}

void piz() {...}
void detz() {...}
string huinya(){...}

希望对你有所帮助。

答案 1 :(得分:2)

在任何稍微复杂的程序中,您将拥有多个编译单元(读取:多个* .cpp文件)。

包含main的文件不包含任何其他函数(或类,结构,typedef等),尤其不包含所有其他函数!当然,它会有多个#include语句。你只是不把所有东西写在一个大的源文件中。

main的正确位置因此:仅在其自己的文件中,类似于main.cpp

答案 2 :(得分:1)

归结为个人偏好,但我所理解的标准是你的第二个例子。当谈到“放置main()函数的最佳方式”时,确实没有这样的东西,你会适应当前的情况。

/* function's prototypes here*/

int main()
{
//functions calling
}

void piz() {...}
void detz() {...}
string huinya(){...} 

答案 3 :(得分:1)

这是一个品味问题,但我喜欢构建我的程序,以便main函数是单个文件main.cpp中唯一的函数。它通常看起来像这样:

// include statements

int main()
{
    try{
        // call functions to initialize program

        return EXIT_SUCCESS;
    }
    catch(std::exception& e){
        std::cerr << e.what() << std::endl;
    }
    catch(...){
        // additional exception handling for exceptions not derived from std::exception
    }
    return EXIT_FAILURE;
}

这将捕获代码中其他位置的所有未处理异常,并使主函数保持简洁。对于

EXIT_SUCCESS

EXIT_FAILURE

请参阅cstdlib