Вопросы с тегом «header-files»

484
Зачем нужны заголовочные файлы и файлы .cpp? [закрыто]

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

147
Почему я не должен включать файлы cpp и вместо этого использовать заголовок?

Итак, я закончил свое первое задание по программированию на C ++ и получил оценку. Но по оценке я потерял оценки за including cpp files instead of compiling and linking them. Мне не очень понятно, что это значит. Оглядываясь назад на мой код, я решил не создавать файлы заголовков для своих классов,...

142
Является ли #pragma когда-то частью стандарта C ++ 11?

Традиционно стандартным и переносимым способом избежать включения нескольких заголовков в C ++ было использование #ifndef - #define - #endifсхемы директив предварительного компилятора, также называемой схемой защиты от макросов (см. Фрагмент кода ниже). #ifndef MY_HEADER_HPP #define MY_HEADER_HPP...

119
«Using namespace» в заголовках C ++

На всех наших курсах по C ++ все учителя всегда ставят using namespace std;сразу после #includes в своих .hфайлах. Мне это кажется опасным, поскольку с тех пор, включив этот заголовок в другую программу, я получу пространство имен, импортированное в мою программу, возможно, не осознавая, не...

97
Makefile, зависимости заголовков

Скажем, у меня есть make-файл с правилом %.o: %.c gcc -Wall -Iinclude ... Я хочу, чтобы * .o перестраивался при изменении файла заголовка. Вместо того, чтобы составлять список зависимостей, всякий раз, когда /includeизменяется какой-либо файл заголовка , все объекты в каталоге должны быть...

88
C ++: Пространства имен - как правильно использовать в заголовочных и исходных файлах?

Рассмотрим пару из двух исходных файлов: файл объявления интерфейса ( *.hили *.hpp) и файл его реализации ( *.cpp). Пусть *.hфайл будет таким: namespace MyNamespace { class MyClass { public: int foo(); }; } Я видел две разные практики использования пространств имен в исходных файлах: *.cpp...

81
Разница между определением @interface в файлах .h и .m

Обычно мы используем @interface interface_name : parent_class <delegates> { ...... } @end в файле .h и в файле .m синтезируем свойства переменных, объявленных в файле .h. Но в некотором коде этот метод @interface ..... @ end также сохраняется в файле .m. Что это означает? В чем разница между...