C ++ / CLI: определить все в .cpp или отдельно в .h или .cpp? - PullRequest
3 голосов
/ 04 октября 2011

Отложив все эстетические соображения в сторону ... Какая альтернатива предпочтительнее?Мои главные проблемы - это время сборки, сохранение читабельности и простота поддержки кода и, конечно же, его компиляция.

Я видел, что большинство книг определяют все в файле .cpp, как на C #, но... Разве это не ухудшит время сборки?Хорошо, вполне может быть, что неуправляемое обоснование C ++ не работает с управляемым C ++ / CLI, НО , пожалуйста, рассмотрите сценарий перехода: классы неуправляемых проектов C ++ перемещаются в проект C ++ / CLI, и всеМонстр строит ОК и сидит там, ожидая, когда отважный парень (я, хм) переведет неуправляемые классы в управляемые, постепенно и, конечно же, с тестовым ремнем безопасности.

Я немного отвлекся, но яхотел, чтобы вы ответили на мою необычную ситуацию (управляемое и неуправляемое взаимодействие).

1 Ответ

5 голосов
/ 04 октября 2011

Файл .h является артефактом препроцессора. К тому времени, когда компилятор начинает компилировать код, это всего лишь один большой кусок кода. Использование файлов .h значительно уменьшено в C ++ / CLI, вам больше не нужно делать объявления доступными для других модулей. В управляемом коде метаданные в сборке предоставляют их.

C ++ / CLI сохраняет модель сборки C ++, компилирует один файл исходного кода за раз и нуждается в компоновщике для склеивания кода. Вам по-прежнему могут понадобиться файлы .h, если у вас есть код C ++ / CLI для одного проекта, распределенный по нескольким файлам исходного кода.

Итак, используйте .h файлы только тогда, когда они вам нужны. Совет, который ничем не отличается для нативных проектов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...