【问题标题】:Is it considered bad convention to put main() at the top of a C++ source? [closed]将 main() 放在 C++ 源代码的顶部是否被认为是不好的约定? [关闭]
【发布时间】:2014-09-12 02:15:21
【问题描述】:

刚从 C++ 开始,我之前用 Java 编写过一些代码,而且我一直倾向于将 main 方法放在调用它的类的顶部。只是让遵循程序逻辑更容易,而且对我来说感觉更直观。现在学习 C++,显然它的设计似乎假设您将 main 方法放在源文件的底部,因为它调用的所有方法都需要首先声明。我知道您可以使用方法原型绕过此问题,但这样做是否被认为是不好的做法?让我担心,因为该语言似乎是在假设您不会的情况下设计的。不想现在就养成一个坏习惯,学习语言的时候发现后来的人不屑一顾。

【问题讨论】:

  • 不要担心这些事情。在现实生活中,您将拥有大量源文件,而主要文件通常位于独立文件中。在现实生活中,所有原型都在一个头文件中,您可以在任何需要的地方#include它们。
  • 正如您所说,您可以或多或少轻松地前向声明大多数事物。尽管如此,这是一个额外的负担,只是喜欢你的源文件顺序颠倒并不足以造成不便恕我直言。违背常规是不值得的。
  • 我不知道这是否是惯例,但从经验来看,是的。我通常希望main() 位于源文件的末尾,并且除了调用一些其他函数之外不会做太多事情。
  • 我倾向于将main() 放在开头,这样在读取文件时我可以立即看到程序的运行情况。
  • 我通常认为将尽可能少的代码放在main 中并将main 隔离到自己的文件中(通常为main.cpp)是一个好习惯。从 main 您调用实际完成工作的其他代码。对于一个在main(或在与main 相同的文件中的函数)中具有所有功能的非常小的项目是可以的。在这些情况下,为了方便起见,我通常将 main 放在最后。如果您到了难以阅读的程度,您可能应该开始将内容移动到其他文件中。

标签: c++ main conventions


【解决方案1】:

在 C++ 中,您需要声明您将要使用的所有内容在使用之前。你开始使用main()中的东西。因此,通常的结构是将main()放在编译单元的末尾

【讨论】:

  • 所有奇怪放置的斜体是怎么回事?
【解决方案2】:

就个人而言,我喜欢将main() 放在文件的开头。只要确保在 main 之前的某个地方有从 main 调用的函数的原型。否则你的代码看起来像 Pascal - 这只是所以错了...... :-) 分享和享受。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-25
    • 1970-01-01
    • 1970-01-01
    • 2016-08-21
    • 2011-04-05
    • 1970-01-01
    • 1970-01-01
    • 2016-11-02
    相关资源
    最近更新 更多