Где должны быть объявлены прототипы функций?

Где именно должны быть объявлены прототипы? Например, сразу после включения статистики или прямо перед основным методом? Я знаю, что они оба компилируются, но считается ли он более стандартным или более читабельным?

#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;
}

или они не должны использоваться вообще, а главное должно быть объявлено последним?

Никто на самом деле не обратился, если какой-либо способ является более читабельным или предпочтительным

-1

Решение

Было бы важно, если бы вы на самом деле использовали тип из std в вашей функции прототипы. В вашем примере это не так, поэтому в вашем случае это не имеет значения.

Это не будет компилировать:

#include <string>

void foo(string const & s);

using namespace std;

Но это будет:

#include <string>

using namespace std;

void foo(string const & s);

Но ты не должен использовать using namespace std тем не мение.

1

Другие решения

Прототип функции должен быть объявлен перед использованием функции. Это может быть объявлено даже в области видимости блока.

0

В приведенном вами примере это не имеет значения.

Правило таково:

Функция должна быть объявлена до Вы используете это (в этом случае: назовите это).

Замечания: Если функция определена до ее использования, вам не нужно явное объявление функции. Определение функции служит цели.

0
По вопросам рекламы [email protected]