使用 C++ 程式庫的標頭
您可以將它命名為包含標準的標頭內容在 include 指示詞。
#include <iostream> // include I/O facilities
您可以依任何順序多次包含標準的標頭,標準標頭,或定義同一巨集或相同型別的兩個以上的標準標頭。請勿在宣告內的標準標頭。不要定義同名關鍵字的巨集,您包含標準的標頭之前。
C ++. 它需要定義所需的型別程式庫標頭包含任何其他 C++ 程式庫標頭。不過, (明確包含在轉譯單位中任何需要的 C++ 程式庫標頭,您唯恐錯誤猜測相對於其實際相依性)。標準 C 標頭絕不包含另一個標準標頭。標準標頭宣告或定義為其說明的只在實體本文。
每個函式位於程式庫在標準標頭宣告。不同於在標準的 C 中,標準標頭永遠不會提供遮罩的巨集名稱和遮罩函式宣告並達到相同效果的函式相同。如需遮罩巨集的詳細資訊,請參閱 C++ 程式庫慣例。
除了 operator delete 和 operator new 之外的所有名稱在 C++ 程式庫標頭被定義在 std 命名空間,或在 std 命名空間內巢狀命名空間。您參考名稱 cin,例如,做為 std::cin。請注意,不過,巨集名稱不受命名空間限定性條件限制,因此,您一定要寫入 __STD_COMPLEX ,不含命名空間限定詞。
在一些轉譯環境,包括 C ++. 程式庫標頭可以提取在 std 命名空間宣告的外部名稱將全域命名空間,與每一個的個別 using 宣告名稱。否則,標頭沒有引入任何程式庫名稱到目前的命名空間。
C++ 標準要求 C 標準標頭宣告在命名空間 std的所有外部名稱,然後提取至與個別 using 宣告的全域命名空間中每個的名稱。但是,在某些轉譯環境 C 標準標頭不包含命名空間宣告,宣告所有名稱直接在全域命名空間。因此,最可攜式方式涉及命名空間將遵循兩條規則:
例如,的外部名稱,決定性地宣告在命名空間 std 在 <stdlib.h>傳統上宣告包含標題 <cstdlib>。知道這個名稱在全域命名空間也可能宣告。
判斷區域宣告在全域命名空間中 <stdlib.h>宣告的外部名稱,請直接包含標題 <stdlib.h> 。知道這個名稱在命名空間 std也可能宣告。
因此,因此,如果您要呼叫 std::abort 導致異常終止,應該包含 <cstdlib>。如果您要呼叫 abort,您應該包含 <stdlib.h>。
或者,您可以撰寫宣告:
using namespace std;
要使所有程式庫名稱進入目前命名空間。如果您立即寫入這個宣告,在所有包含指示詞後,您提取名稱將全域命名空間。您接著可以忽略本轉譯單位的其餘部分的命名空間的考量。您也可以避免跨不同轉譯環境的大多數差異。
除非另外特別指出,您可能定義名稱。 std 命名空間,或在 std 命名空間內巢狀命名空間,在您的程式中。