Обычная структура файла заголовка программы на С ++? - PullRequest
4 голосов
/ 29 сентября 2011

Я знаю механизм работы заголовочных файлов в c ++, но я только начинаю писать большие программы opengl с большим количеством классов, и мне было интересно, существует ли «стандартный» или традиционный способ организации больших программ вокруг заголовочных файлов или это просто личные предпочтения по большей части?

Ответы [ 2 ]

5 голосов
/ 29 сентября 2011
1. Divide your project into Modules.
2. Make a directory for each module.
3. Under each directory for a module create 2 sub directories inc/ and src/
where you will place your header and source files resp.
4. Create a global directory and place your header and cpp files in that directory which 
would be used commonly by several modules.
5. Make your Makefile that includes path and links to all libraries correctly.

Это то, что я следую. Могут быть и другие, более эффективные и менее эффективные способы:)

1 голос
/ 29 сентября 2011

Для очень больших проектов обычно есть 2 вида функций / объектов: те, которые используются во многих местах и ​​те, которые используются только локально (в одном файле или нескольких связанных файлах).Вы хотите разместить их в двух разных местах:

  • В центральном месте, скажем, root \ inc, поместите заголовки для всех функций и констант, которые широко используются здесь.
  • В каждом каталоге поместите заголовочные файлы, которые влияют только на эти области.

Преимущество этого состоит в том, что это вызывает некоторую развязку вашей программы.Файл cpp в части пользовательского интерфейса не может получить доступ к функциям в сетевой части, если он не находится в центральном месте и не предполагается, что он будет широко использоваться.

Если вы говорите не так уж много, но все же больше, чем одинфайла, тогда практическое правило заключается в том, что вы держите каждый заголовочный файл в одном классе или в большинстве из нескольких тесно связанных классов.

...