11

C ++プログラムに後者ではなく前者を含めるための考慮事項は何ですか?私は常に含めますmath.hが、stdlib.h決して含めません。後者が存在する理由cmathcstdlibわかりません。誰かが私に教えてくれませんか?

4

1 に答える 1

22

<c ...>ヘッダーを含めることをお勧めします。これらはC++標準ライブラリヘッダーです。<... .h>ヘッダーは、C標準ライブラリによって定義されたヘッダーです。

C ++標準ライブラリは、静的型の安全性を確保するために適切に調整されたC標準ライブラリの機能も利用できるようにします。

stdほとんどの場合、C ++ヘッダーには、名前がすべて名前空間で定義されていることを除いて、対応するCライブラリヘッダーと同じ内容が含まれています。

第18条から第30条および付属書Dに記載されている場合を除き、各ヘッダーの内容は、C標準ライブラリ(1.2)またはC Unicode TRで指定されているようcnameに、対応するヘッダーの内容と同じである必要があります。name.h包含。ただし、C ++標準ライブラリでは、宣言(Cでマクロとして定義されている名前を除く)は、名前空間stdの名前空間スコープ(3.3.6)内にあります。これらの名前が最初にグローバル名前空間スコープ内で宣言され、次に明示的なusing-declarationsによって名前空間stdに挿入されるかどうかは指定されていません。

于 2013-03-27T10:19:58.953 に答える