
No.1ベストアンサー
- 回答日時:
どちらも数値演算をする際に使用するヘッダファイルです。
どちらを使用すべきかは、C言語では<math.h>の一択です。
C++ではどちらも使えます。というか、<cmath>は<math.h>をラップしていて結局同じ関数が呼ばれます。
では何が違うかというと、<cmath>をインクルードした時の数値演算関数はstd名前空間内に所属するようになります。それに対して、<math.h>をインクルードした時の数値演算関数はグローバル関数になります。
この回答へのお礼
お礼日時:2014/01/11 21:52
ご連絡遅れ失礼しました。
ご回答ありがとうございました。
どちらでも使える、ということで安心しました。
参考にさせていただきます。
No.2
- 回答日時:
math.hは昔のコードとの互換性のために使えるようになっているだけで、新規作成するC++のコードでは使ってはいけません。
cmathをincludeして、std::log2(2);のように書きましょう。C++11の下書き (http://www.open-std.org/jtc1/sc22/wg21/docs/pape … ) で見た感じですが、このAnnex D compatibility features、D.5 C standard library headersにそのことが載っています。なお、Annex Dに書いてあることはすべて互換性のために使えるようになっている非推奨の機能です。新しいC++のコードではmath.dでなくcmathなどを使うようにしましょう。
cmathそのものはsin、cos、log、exp、sqrtなど数学的な計算が必要なときに使います。何の関数が使えるかはこれを見ると良いでしょう。
http://www.cplusplus.com/reference/cmath/
この回答へのお礼
お礼日時:2014/01/11 21:53
ご連絡遅れ失礼しました。
ご回答ありがとうございました。
URLまでつけていただき、大変助かります。
参考にさせていただきます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DLLファイルの逆コンパイラにつ...
-
c言語
-
C言語 配列と関数の練習問題
-
c言語でイベントフラグを使った...
-
【C言語】全角文字の配列を、全...
-
Windows Formアプリからコンソ...
-
visual studio 2022でのC#プロ...
-
C言語の関数のextern宣言
-
C++でデスクトップGUIアプリ開...
-
プログラマー達は何故、プログ...
-
C#でTreeViewのCheckBoxのサイ...
-
Notepad++の関数リスト表示でC...
-
gccを行ってもexeファイルが生...
-
C言語について。
-
略語の読み方について
-
C言語 入力した値から0までの数...
-
プログラミング 2つの整数を読...
-
コンソールアプリを作成するの...
-
0 == False はいいけど
-
pythonの質問です。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
c++ cmathとmath.h
-
ListboxとTextBoxについての質問
-
エクセル マクロ(A1:A10)までの...
-
python: 直角三角形の種類を求...
-
三辺の長さから角度を求めたい...
-
ActionScript3.0でのカウントダ...
-
プログラム開始から 2秒毎に ...
-
調和関数について
-
エラー(型が一致しません。)...
-
LRESULTとHRESULT
-
VB6でユーザー定義型がNothing...
-
配列の要素番号を取得するには?
-
#define 文
-
TextChangeイベントが発生しない
-
VBでボタンを押すと画像をラン...
-
IDの自動採番について
-
PHPからFlashにXMLをそのまま渡...
-
このプログラムはどういう意味...
-
重複しない乱数の生成
-
関数の定義
おすすめ情報