Sulla differenza tra <cmath> e <math.h>:
- in C, esiste solo <math.h>;
- in C++, esistono entrambi:
- <cmath> contiene tutto quello che contiene il <math.h> del C, più qualche aggiunta (ad esempio, diverse funzioni hanno overload aggiuntivi per i vari tipi floating point, mentre in C bisogna chiamare funzioni diverse); tuttavia, a differenza del <math.h> del C tutte le funzioni sono definite all'interno del namespace std, per cui se includi <cmath> devi scrivere std::sin invece che sin (a meno di non usare qualche direttiva using);
- il <math.h> del C++ è equivalente a <cmath>, ma importa tutti i nomi che definisce nel namespace globale, per cui non è necessario usare std::.

Rispondi quotando



