C++ のライブラリ ヘッダーを使用する
インクルード ディレクティブで参照することによって、標準ヘッダーの内容が格納されます。
#include <iostream> // include I/O facilities
すべての順序に標準ヘッダー、標準ヘッダーを何度も含めることも、同じマクロまたは同じを定義する複数の標準ヘッダーを入力します。宣言内の標準ヘッダーを含めないでください。標準ヘッダーをインクルードする前にキーワード同じ名前を持つマクロを定義します。
C ++.のライブラリのヘッダーには整数型を定義する必要があるC++ライブラリのヘッダーが含まれています。ただし、実際の依存関係について誤って推測される (翻訳単位で必要とされる常に明示的に記述します。C++ライブラリのヘッダーが。)標準のCヘッダーが、他の標準ヘッダーは含まれません。標準ヘッダーは、このドキュメントで、で説明されているエンティティだけ宣言または定義します。
ライブラリのすべての関数には、標準ヘッダーで宣言されています。標準Cとは異なり、標準ヘッダーが関数宣言を折り返し、同じ効果を実現する関数と同じ名前がマスク マクロにしません。マスク マクロの詳細については、C++ のライブラリの規則を参照してください。
C++ライブラリのヘッダーの operator delete と operator new 以外のすべての名前を std の名前空間、または std の名前空間内で入れ子にした名前空間で定義されます。std::cinとして cin名前 (など) を参照します。ただし、マクロ名が名前空間修飾が適用されないため、名前空間修飾子なしで __STD_COMPLEX を常に書き込むことに注意してください。
C ++.ライブラリのヘッダーを含め、移動の環境では、名前の using の個々の宣言でグローバル名前空間に std の名前空間で同じように宣言されている外部名をも発生することがあります。それ以外の場合は、ヘッダーは現在の名前空間にライブラリ名はありません。
C++標準では、Cの標準ヘッダーが名前空間 stdのすべての外部名を宣言するように要求し、名前の using の個々の宣言でグローバル名前空間にも発生します。ただし、移動の環境にCの標準ヘッダーは、グローバル名前空間の名前を直接宣言した名前空間宣言を含めません。したがって、名前空間を扱う移植性の高い方法は2種類の規則に従います。:
確実に名前空間 std で宣言するに <stdlib.h>に困難なたとえば、宣言された外部名は、ヘッダー <cstdlib>が含まれます。nameには、グローバル名前空間で宣言される可能性があることを認識します。
確実にグローバル名前空間に <stdlib.h>で宣言されている外部名を宣言するに <stdlib.h> ヘッダーを直接格納します。nameには、名前空間 stdで宣言される可能性があることを認識します。
したがって、異常終了が発生する場合が std::abort を呼び出す場合 <cstdlib>を含める必要があります。abortを呼び出す場合 <stdlib.h>を含める必要があります。
さらに、宣言を記述する場合:
using namespace std;
すべてのライブラリ名を取り込むかが現在の名前空間にします。この宣言をすばやく記述する場合は、ディレクティブ、上位発生させますグローバル名前空間に名前を格納します。従って変換単位の残りの名前空間の考慮事項を無視できます。また、翻訳の環境にわたってほとんどの違いを回避できます。
特に記載の方法で示して、std の名前空間、またはプログラム内の std の名前空間内で、入れ子の名前空間の名前を定義することはできません。