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 hab 🙂

    Mike



  • 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


Anmelden zum Antworten