Ansi-C, Ansi-C++, ???
-
Hallo,
ich bin gerade dabei mich mit C/C++ zu beschäftigen. Ein Freund von mir meinte ich solle heutzutage nur noch C++ und nicht C lernen. Kann ich dann auch die C-Biblitoheken verwenden z.B. cstdlib? Ist dann ein mischen von Code möglich oder erlaubt? Beispielsweise malloc und new?
Jetzt habe ich in einem Buch aber was über Ansi-C, Ansi-C++ usw. gelesen. Schließt Ansi-C++ nund alle Vorgänger aus oder sind diese weiterhin untereinadner kompatibel.
Möchte es von vorne hinweg richtig lernen und nicht auf 1/2 Strecke merken dass ich etwas ungesundes gemacht habMike
-
pastors schrieb:
Ein Freund von mir meinte ich solle heutzutage nur noch C++ und nicht C lernen. Kann ich dann auch die C-Biblitoheken verwenden z.B. cstdlib?
Ja. Die Standardbibliothek von C ist auch in C++ enthalten. Autoren von Zusatzbibliotheken achten in der Regel darauf, dass sie auch zu C++ kompatibel bleiben.
Ist dann ein mischen von Code möglich oder erlaubt? Beispielsweise malloc und new?
Mischen ist erlaubt, an der Grenze von C und C++ (wenn der C-Code auch mit einem C-Compiler übersetzt wurde) kann es manchmal wegen Name-Mangling aufgrund von Überladung zu Schwierigkeiten kommen. malloc und new dürfen auch beliebig gemischt werden, solange man die beiden nicht durcheinanderbringt: malloc gehört zu free und new zu delete.
-
pastors schrieb:
Hallo,
Ein Freund von mir meinte ich solle heutzutage nur noch C++ und nicht C lernen.Schwachsinn. Kommt immer auf den Verwendungszweck an.
-
Crax schrieb:
Schwachsinn. Kommt immer auf den Verwendungszweck an.
Ausser wenn es keinen C++ Compiler gibt - welchen Grund habe ich sonst noch C zu nehmen?
-
pastors schrieb:
Hallo,
ich bin gerade dabei mich mit C/C++ zu beschäftigen. Ein Freund von mir meinte ich solle heutzutage nur noch C++ und nicht C lernen.Warum sollte man "heutzutage" kein C mehr lernen?
Mischen ist natürlich möglich, sonst würde es wohl der Compiler nicht erlauben ;). Allerdings sollte man darauf achten, dass man es nicht tut, wenn es nicht unbedingt nötig ist (bzw. keine großen Vorteile bringt).
-
Danke für die Antworten. Bin beruhigt dass sich das eine dem anderen nicht ausschließt!
Mike