[解決済み] cmath vs math.h(そして同様のc接頭辞付き拡張子ヘッダーと.h拡張子ヘッダー)。
2022-01-30 21:22:16
質問
などの違いに関する情報を目にしたことがあります。
iostream
対
iostream.h
. 私がそれらから得た情報では、両者の違いは
.h
拡張子は名前空間を生成しませんが、拡張子付きのバージョンでは生成されます。
の場合も同じですか?
cmath
対
math.h
? なぜ
cmath
(そして他の多くの同様のファイル)の先頭に
c
でなく、単に
math
? 両者の違いはもっとあるのでしょうか?
解決方法は?
<ブロッククオートiostreamとiostream.hのような違いについての情報を見たことがあります。
[iostream.h]は標準のヘッダーではありません。
は、あなたが提起している問題の例ではありません。
[cmath]では、シンボルの定義が
std
名前空間で定義され、グローバル名前空間でシンボルを定義することもできます。[math.h] グローバルな名前空間のシンボルを定義し、さらに、そのシンボルを
std
前者をインクルードして未修飾のシンボルを使用した場合、あるコンパイラではコンパイルできるが、別のコンパイラではできない可能性があります。したがって、[math.h]を使うのがよいでしょう。
c++98では、c++98で提供されていたc
xxx
しかし、これはグローバル名前空間を汚染するものよりも実装が少し難しく、実際には私の知る限りどの標準ライブラリ実装もこの点で標準に従わなかったので、c++11でようやく現実を反映するように変更されたのです。
関連
-
[解決済み】C++ クラスヘッダが含まれているときに「不明な型」があるのはなぜですか?重複
-
[解決済み】C++でint型に無限大を設定する
-
[解決済み】変数 '' を抽象型 '' と宣言できない。
-
[解決済み】IntelliSense:オブジェクトに、メンバー関数と互換性のない型修飾子がある
-
[解決済み】cc1plus:エラー:g++で認識されないコマンドラインオプション"-std=c++11"
-
[解決済み】c++でstd::vectorを返すための効率的な方法
-
[解決済み】エラー:free(): 次のサイズが無効です(fast)。
-
[解決済み】 while(cin) と while(cin >> num) の違いは何ですか?)
-
[解決済み] 変数サイズのオブジェクトが初期化されないことがある c++
-
[解決済み] Intel CPU の _mm_popcnt_u64 で、32 ビットのループカウンターを 64 ビットに置き換えると、パフォーマンスが著しく低下します。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] テスト
-
[解決済み】LLVMで暗黙のうちに削除されたコピーコンストラクタの呼び出し
-
[解決済み】C++ - 解放されるポインタが割り当てられていないエラー
-
[解決済み】致命的なエラー LNK1169: ゲームプログラミングで1つ以上の多重定義されたシンボルが発見された
-
[解決済み】C++の余分な資格エラー
-
[解決済み】CMakeエラー at CMakeLists.txt:30 (project)。CMAKE_C_COMPILER が見つかりませんでした。
-
[解決済み] gdbを使用してもデバッグシンボルが見つからない
-
[解決済み】Enterキーを押して続行する
-
[解決済み] 配列のベクトルを扱う正しい方法
-
[解決済み] 数値を累乗にするC++の関数は何ですか?