1. 程式人生 > >標頭檔案重複包含

標頭檔案重複包含

如果某個標頭檔案被多次包含,則在VC編譯器中編譯,會丟擲“重複定義”錯誤。

為了避免同一個檔案被重複包含多次,C++提出了2種解決方案。

1、#ifndef  _SOME_FILE_H

      #define _SOME_FILE_H

      ……

      ……

      #endif       //在檔案末端

2、#pragma one

     ……

      ……

#ifndef、#define、#endif是C++語言中的巨集定義,通過巨集定義來避免檔案多次編譯。即所有支援C++編譯器的都支援它。

但是#pragma one是編譯相關的,不是每一個編譯系統都支援,移植性相對差一點。不過,現在基本上每個編譯器都有這個定義了。