Quali sono le considerazioni per includere il primo anziché il secondo in un programma C++? Includo sempre math.h
, stdlib.h
e mai cmath
, cstdlib
ecc. Non capisco la ragione per cui anche quest'ultimo esiste, qualcuno potrebbe per favore illuminarmi?#include <cmath> vs #include <math.h> in un programma C++
risposta
Preferire includere le intestazioni <c ...>
. Sono intestazioni di libreria standard C++. Le intestazioni sono <... .h>
intestazioni definite dalla libreria standard C:
libreria standard Il C++ mette a disposizione le strutture della libreria standard C anche, opportunamente regolato per garantire la sicurezza di tipo statico.
Le intestazioni C++, per la maggior parte, hanno un contenuto identico ai corrispondenti intestazioni di libreria C, tranne che i nomi sono tutti definiti nel std
namespace.
eccezione di quanto indicato nelle Clausole 18 attraverso 30 e l'allegato D, i contenuti di ciascuna intestazione
cname
deve essere uguale a quella del corrispondente dell'intestazionename.h
, come specificato nella libreria C standard (1.2) o Unicode C TR, come appropriato, come se per inclusione. Nella libreria standard C++, tuttavia, le dichiarazioni (ad eccezione dei nomi definiti come macro in C) rientrano nell'ambito dello spazio dei nomi (3.3.6) dello spazio dei nomi std. Non è specificato se questi nomi vengono prima dichiarati nell'ambito dello spazio dei nomi globale e vengono quindi immessi nello std dei nomi mediante dichiarazioni-utilizzo esplicite
Quindi non esiste un vero motivo per usare le intestazioni '
@VioletGiraffe Forse hai letto male. Ho detto "Preferisci includere le intestazioni'
Non ho letto male. Non vedo un singolo motivo per preferire l'intestazione '
- 1. cosa fa #include <stdio.h> in un programma c
- 2. C++ #include <atlbase.h> non trovato
- 3. cercando di utilizzare "#include <stdbool.h>" in VS 2010
- 4. C++ - errore con include <string>
- 5. Senza includere #include <ctype.h>
- 6. # include <gdiplus.h> causa errore
- 7. attributo layout_weight in <include> tag
- 8. Qual è la differenza tra <jsp: include page = ...> e <% @ include file = ...>?
- 9. Perché #include <Python.h> funziona?
- 10. Controllori nidificati JavaFx (FXML <include>)
- 11. Twig tag include vs function include
- 12. #include iostream in C?
- 13. Impossibile # include <dirent.h> in Visual Studio 2005
- 14. Twig: render vs include
- 15. ruby include vs extend
- 16. WiX Include vs Fragments
- 17. Twig macro VS include?
- 18. PHP include "../" vs "/../"
- 19. Less css file include in <head> sezione
- 20. Perché ReadOnlyCollection <> non include metodi come FindAll(), FindFirst(),
- 21. #include intestazioni in C/C++
- 22. python -c vs Python - << heredoc
- 23. Il lato client include vs lato server include?
- 24. Twig embed vs include, qualsiasi motivo di utilizzo include
- 25. C++ include .h include anche .cpp con lo stesso nome?
- 26. g: include vs g: render
- 27. compilazione errori con #include <string> a Cocoa App
- 28. Differenza tra <include> e <ViewStub> in android
- 29. RCHAR include READ_BYTES (proc/<pid>/io)?
- 30. È possibile utilizzare std :: string senza #include <string>?
Il duplicato contrassegnato risponde esattamente alla domanda. –
Eventuali duplicati più pertinenti di quelli già elencati: http://stackoverflow.com/questions/8734230/math-interface-vs-cmath-in-c –
@ChrisWhite: infatti. Grazie. –