Per evitare multipla include un file di intestazione, un mio amico ha suggerito il seguente modoQuale è efficace usare #pragma una volta o #ifndef #endif?
#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
dove _INTERFACEMESSAGE_HPP è solo un identificatore
ma quando dichiaro una classe utilizzando Visual Studio 2005 IDE ottengo un economico come #pragma volta alla partenza della definizione di classe quando ho preso l'aiuto di MSDN per trovare lo scopo di #pragma volta mi ha dato la seguente spiegazione
"Specifica che il file verrà incluso (aperto) una sola volta dal compilatore durante la compilazione di un file di codice sorgente. "
Qualcuno informi che è l'approccio giusto ?, se entrambi sono corrette, allora qual è la differenza? È un approccio è migliore rispetto agli altri?
Non utilizzare identificatori che iniziano con un trattino basso seguito da una lettera maiuscola, sono riservati. – CesarB