Das ist nur bedingt richtig, praktisch nur dann, wenn man als Sprache plus Klassenbibliothek betrachtet und C++ nur als Sprache.
Wenn man zur Betrachtung einen ähnlichen Umfang benutzt, also in beiden Fällen nur die Sprache oder in beiden Fällen mit umfangreicher Klassen Bibiothek (z.b. C++ mit Qt), dann hat man mehr oder weniger einen Gleichstand mit fallweisen Vorteilen bzw. Nachteilen.
Nachdem in einem der vorherigen Kommentaren die Problematik der Ressourcenverwaltung, z.B. Speicherallokierung, gefallen ist: wenn man in Java ein File Objekt anlegt, dann existiert es solange noch mindestens eine Referenz darauf verweist und wird danach irgendwann vom Garbagecollection eingesammelt. D.h. der Entwickler muss sich in vielen Fällen keine Gedanken über das Freigeben machen.
Diese Verhalten ist trivial auch in C++ zu erreichen, wenn man das Objekt als Referenz zählenden Smartpointer anlegt.
Es ist dann eine Frage der Programmanforderungen ob das Löschen zu einem fixen, kontrolliertem Zeitpunkt oder zu einem verzögertem, weniger kontrollierbaren Zeitpunkt statt findet.
Mitnichten. Java hat einfach ein höheres Level als C++, deswegen kommt man weniger Zeilen aus.
Das ist nur bedingt richtig, praktisch nur dann, wenn man als Sprache plus Klassenbibliothek betrachtet und C++ nur als Sprache.
Wenn man zur Betrachtung einen ähnlichen Umfang benutzt, also in beiden Fällen nur die Sprache oder in beiden Fällen mit umfangreicher Klassen Bibiothek (z.b. C++ mit Qt), dann hat man mehr oder weniger einen Gleichstand mit fallweisen Vorteilen bzw. Nachteilen.
Nachdem in einem der vorherigen Kommentaren die Problematik der Ressourcenverwaltung, z.B. Speicherallokierung, gefallen ist:
wenn man in Java ein File Objekt anlegt, dann existiert es solange noch mindestens eine Referenz darauf verweist und wird danach irgendwann vom Garbagecollection eingesammelt.
D.h. der Entwickler muss sich in vielen Fällen keine Gedanken über das Freigeben machen.
Diese Verhalten ist trivial auch in C++ zu erreichen, wenn man das Objekt als Referenz zählenden Smartpointer anlegt.
Es ist dann eine Frage der Programmanforderungen ob das Löschen zu einem fixen, kontrolliertem Zeitpunkt oder zu einem verzögertem, weniger kontrollierbaren Zeitpunkt statt findet.