C++ und Java das Gleiche?

03/19/2010 10:34 BloodlyKnife#1
Hi,
Ich lerne Java wollte aber auf C++
umsteigen und mal so Probiert im Programm und die Codes von
Java sind in C++ auch wirklich gegangen.
Was ist der Unterschied zwischen C++ und Java von der Syntax?
03/19/2010 18:01 xNopex#2
Vom Syntax her gibt es kaum Unterschiede. Ich lerne seid 2Jahren Java inner Schule und ich habe Syntaxmäßig noch nie etwas in Java gesehen, was ich zuvor nicht auch in C++ gesehen habe. Okay das Einbinden externer Bibliotheken ist syntaxmäßig der einzigste Unterschied, der mir grad einfällt und den ich im Unterricht festgestellt habe.
03/19/2010 21:11 MrSm!th#3
Quote:
Originally Posted by xNopex View Post
Vom Syntax her gibt es kaum Unterschiede. Ich lerne seid 2Jahren Java inner Schule und ich habe Syntaxmäßig noch nie etwas in Java gesehen, was ich zuvor nicht auch in C++ gesehen habe. Okay das Einbinden externer Bibliotheken ist syntaxmäßig der einzigste Unterschied, der mir grad einfällt und den ich im Unterricht festgestellt habe.
*hust*

1. konstruieren von klassen ist bei java immer dynamisch (immer mit new)
2. bei arrays gibts bei java den member .lenght (ok hängt damit zusammen, dass es ja komplett objektorientiert ist)
3. das deklarieren von membern einer klasse ist ganz anders als in C++. bei c++ schreibt man nicht vor jeden member public/private/protected
4. in c++ gibts nicht die funktion, eine klasse als interface und eine als implementation zu deklarieren

aber generell was die operatoren angeht (mit denen man ja am meisten bei den grundlagen zutun hat) gibts 0 unterschiede
03/20/2010 08:03 BloodlyKnife#4
Vielen Dank:D
Kann Geschlossen werden
03/20/2010 08:13 xNopex#5
Quote:
Originally Posted by MrSm!th View Post
*hust*

1. konstruieren von klassen ist bei java immer dynamisch (immer mit new)
2. bei arrays gibts bei java den member .lenght (ok hängt damit zusammen, dass es ja komplett objektorientiert ist)
3. das deklarieren von membern einer klasse ist ganz anders als in C++. bei c++ schreibt man nicht vor jeden member public/private/protected
4. in c++ gibts nicht die funktion, eine klasse als interface und eine als implementation zu deklarieren

aber generell was die operatoren angeht (mit denen man ja am meisten bei den grundlagen zutun hat) gibts 0 unterschiede
1 ist kein Unterschied, da es in C++ auch möglich ist.
2 ist kein Unterschied, die vector-klasse hat auch eine methode size(). Wer noch ein Array verwendet ist selber schuld.
3. haste recht
4. haste recht
03/20/2010 11:16 flo8464#6
Java hat keine Zeiger, also NEIN !
03/20/2010 11:22 MrSm!th#7
Quote:
Originally Posted by xNopex View Post
1 ist kein Unterschied, da es in C++ auch möglich ist.
2 ist kein Unterschied, die vector-klasse hat auch eine methode size(). Wer noch ein Array verwendet ist selber schuld.
3. haste recht
4. haste recht
1. bei java ist es aber NUR so möglich ;D
2. nunja, manchmal braucht man aber ein array und ich habe doch auch von array gesprochen, wenn du vector nimmst, haste ja nen anderen namen^^
03/20/2010 16:13 flo8464#8
Quote:
1 ist kein Unterschied, da es in C++ auch möglich ist.
Nein, ist komplett anders, Java hat einen Garbage-Collector, C++ nicht.

Quote:
2 ist kein Unterschied, die vector-klasse hat auch eine methode size(). Wer noch ein Array verwendet ist selber schuld.
Ich sags mal so, wer permanent kleine Arrays dynamisch anlegt (vector bezieht den Speicher über new) ist selbst schuld, reichlich imperformant. Auf dem Stack ist es 1000x schneller angelegt und entfernt.
03/20/2010 17:04 xNopex#9
Was hat das jetzt mit nem Garbage Collector zu tun? Dann musst Du dich in C++ halt selber um den "Müll" kümmern, ändert ja nix am Syntax.

Immer das Argument mit der Geschwindigkeit... Man kann auf gut Deutsch auch auf die Geschwindigkeit scheißen und mal auf Sicherheit setzen! Ich hatte noch nie ein Problem mit der Performance, durch die Verwendung von vector-Objekten! Wenn du dauerhaft darunter leidest würde ich mal meinen Sourcecode optimieren...
03/20/2010 17:21 Cholik#10
#closed on request