Чтобы избежать многократного включения заголовочного файла, один из моих друзей предложил следующий способ
#ifndef _INTERFACEMESSAGE_HPP
#define _INTERFACEMESSAGE_HPP
class CInterfaceMessage
{
/ /Declaration of class goes here
//i.e declaration of member variables and methods
private:
int m_nCount;
CString m_cStrMessage;
public:
CString foo(int);
}
#endif
, где _INTERFACEMESSAGE_HPP - просто идентификатор
, но когда я объявляю класс с помощью visual studio2005 IDE Я получаю утверждение как #pragma один раз в начале определения класса, когда я воспользовался помощью msdn, чтобы найти назначение #pragma, как только он дал мне следующее объяснение
"Указывает, что файл будетбыть включен (открыт) только один раз компилятором при компиляции файла исходного кода. "
Кто-то, пожалуйста, скажите, какой подход правильный?? Если оба они верны, то в чем разница?один подход лучше другого?