Является ли определение функции declaration statement?
Насколько я знаю определение - это объявление, которое полностью описывает сущность.
То есть в моём понимании вот это выражение: int a; - объявление, а это: int a = 10; - определение. Так вот прочитав статью в этом источнике, я понял что и то и то является declaration statement. Пример прямо из статьи:
int n = 1; // declaration statement
Так вот, исходя из вышесказанного я провел аналогию с функциями. И теперь вопрос, который меня волнует: можно ли определение функции:
int foo()
{ return 0; }
назвать declaration statement? Если нет, то какой термин этому соответствует?
P. S. извиняюсь за принципиальность, но для меня очень важно это понять.
Ответы (1 шт):
Почитал грамматику.
Это не declaration statement и вообще не statement.
Statement-ы могут находится только в телах функций. Тела состоят из последовательности statement-ов и только из них, поэтому там даже объявления считаются statement-ами.
Снаружи функций объявления являются просто объявлениями.
Если нет, то какой термин этому соответствует?
Мне кажется никакой. Это просто объявления/определения.