C++標準ライブラリヘッダ
C++標準ライブラリのインタフェースは以下のヘッダ群により定義されます。
[編集] C 互換ヘッダ
<〜.h> 形式の C 標準ライブラリヘッダのいくつかは、それと同じ名前のヘッダと <c〜> 形式のヘッダの両方が C++ 標準ライブラリに含まれています (意味のある <c〜> 形式のヘッダはすべて上の一覧に掲載されています)。
<complex.h> を除いて 、 C++ 標準ライブラリに含まれている各々の <〜.h> 形式のヘッダは、対応する <c〜> ヘッダで std 名前空間に配置される各々の名前をグローバル名前空間に配置します。
これらのヘッダは、同じ名前を std 名前空間でも宣言するかもしれません。 また、対応する <c〜> ヘッダは、同じ名前をグローバル名前空間でも宣言するかもしれません。 例えば、 <cstdlib> をインクルードすると、 std::malloc は確実に提供されますが、さらに ::malloc も提供されるかもしれません。 <stdlib.h> をインクルードすると、 ::malloc は確実に提供されますが、さらに std::malloc も提供されるかもしれません。 これは C 標準ライブラリの一部ではない関数や関数オーバーロードに対しても適用されます。
<assert.h> (非推奨)
|
<cassert> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います |
<ctype.h> (非推奨)
|
<cctype> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います |
<errno.h> (非推奨)
|
<cerrno> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います |
<fenv.h> (非推奨)
|
<cfenv> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います |
<float.h> (非推奨)
|
<cfloat> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います |
<inttypes.h> (非推奨)
|
<cinttypes> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います |
<limits.h> (非推奨)
|
<climits> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います |
<locale.h> (非推奨)
|
<clocale> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います |
<math.h> (非推奨)
|
特殊な数学関数の名前を除いて、 <cmath> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います |
<setjmp.h> (非推奨)
|
<csetjmp> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います |
<signal.h> (非推奨)
|
<csignal> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います |
<stdarg.h> (非推奨)
|
<cstdarg> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います |
<stddef.h> (非推奨)
|
std::byte およびそれに関連する関数を除いて、 <cstddef> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います
|
<stdint.h> (非推奨)
|
<cstdint> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います |
<stdio.h> (非推奨)
|
<cstdio> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います |
<stdlib.h> (非推奨)
|
<cstdlib> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います |
<string.h> (非推奨)
|
<cstring> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います |
<time.h> (非推奨)
|
<ctime> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います |
<uchar.h> (非推奨)
|
<cuchar> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います |
<wchar.h> (非推奨)
|
<cwchar> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います |
<wctype.h> (非推奨)
|
<cwctype> に含まれる各々の名前がグローバル名前空間に配置されるかのように振る舞います |
[編集] サポートされない C のヘッダ
C のヘッダ <stdatomic.h>
、 <stdnoreturn.h>
、 <threads.h>
は C++ に含まれておらず、対応する <c〜> もありません。
[編集] 空の C のヘッダ
ヘッダ <complex.h>
、 <ccomplex>
、 <tgmath.h>
、 <ctgmath>
は C 標準ライブラリ由来の内容を何も含んでおらず、代わりに C++ 標準ライブラリの他のヘッダをインクルードするだけのものになっています。 これらのヘッダの使用はすべて C++ では非推奨です。
<ccomplex> (C++11以上)(C++17で非推奨)(C++20で削除)
|
ヘッダ <complex> をインクルードするだけです |
<complex.h> (非推奨)
|
ヘッダ <complex> をインクルードするだけです |
<ctgmath> (C++11以上)(C++17で非推奨)(C++20で削除)
|
ヘッダ <complex> および <cmath> をインクルードするだけです。 C のヘッダ <tgmath.h> の内容と同等なオーバーロードがこれらのヘッダによってすでに提供されています
|
<tgmath.h> (非推奨)
|
ヘッダ <complex> および <cmath> をインクルードするだけです |
[編集] 無意味な C のヘッダ
ヘッダ <ciso646>
、 <cstdalign>
、 <cstdbool>
は C++ では無意味です。 C でこれらのヘッダにより提供されるマクロは、 C++ では言語のキーワードです。
<ciso646> (C++20で削除)
|
空のヘッダ。 C で <iso646.h> にあるマクロは C++ ではキーワードです
|
<iso646.h> (非推奨)
|
効果を持ちません |
<cstdalign> (C++11以上)(C++17で非推奨)(C++20で削除)
|
互換マクロ定数をひとつ定義します |
<stdalign.h> (非推奨)
|
互換マクロ定数をひとつ定義します |
<cstdbool> (C++11以上)(C++17で非推奨) (C++20で削除)
|
互換マクロ定数をひとつ定義します |
<stdbool.h> (非推奨)
|
互換マクロ定数をひとつ定義します |
[編集] 関連項目
C標準ライブラリヘッダ の C言語リファレンス
|