应该在哪里声明函数原型?

时间:2014-10-24 03:59:48

标签: c++ readability function-prototypes

原型应该在何处被宣布?例如,在包含声明之后,或者在主要方法之前?我知道他们都编译但是被认为更标准或更可重复?

#include <iostream>
#include <cstdlib>

const unsigned int PI = 3.14;

using namespace std;

int myFunc(int x, int y);
long factorial(int n);

int main()
{
  //...
  return 0;
}

#include <iostream>
#include <cstdlib>

int myFunc(int x, int y);
long factorial(int n);

using namespace std;



int main()
{
  //...
  return 0;
}

或shoudl他们根本不被使用,主要应该被宣布为最后?

如果一种方式更具可读性或偏好,没有人真正解决过。

3 个答案:

答案 0 :(得分:1)

只有在实际使用函数原型中std的类型时,才有意义。在你的例子中,你没有,所以在你的情况下并不重要。

这不会编译:

#include <string>

void foo(string const & s);

using namespace std;

但这会:

#include <string>

using namespace std;

void foo(string const & s);

但是you shouldn't use using namespace std无论如何。

答案 1 :(得分:0)

必须在函数使用之前声明函数原型。它甚至可以在块范围内声明。

答案 2 :(得分:0)

在您展示的示例中,它并不重要。

规则是:

  

在使用 之前必须声明一个函数 (在这种情况下:调用它)。

注意:如果在使用之前定义了该函数,那么您不需要显式函数声明。功能定义用于此目的。