Функции, объявленные в заголовках, обычно (если вы не очень усердно работаете) extern
. Лично я предпочитаю видеть явное ключевое слово там - но компилятору это не нужно. Это напоминает читателям, что они extern
, и поскольку люди более подвержены ошибкам, чем компьютеры, я считаю, что напоминание помогает.
Для переменных важно использовать ключевое слово extern
(без инициализатора) в файле заголовка. Следовательно, для симметрии с (очень немногими) глобальными переменными, объявленными в заголовках, я также использую extern
с функцией - хотя это строго не обязательно.