Frage

An meiner Universität fand der Großteil meiner Kurse in Java statt.Außerdem habe ich kürzlich im Rahmen eines Sommerpraktikums C# (und die Visual Studio-Umgebung) gelernt.Jetzt nehme ich an einem Einführungskurs in die Computergrafik teil und der Doktorand, der den Kurs leitet, bevorzugt, dass wir C++ verwenden, um über GLUT auf die OpenGL-Bindungen zuzugreifen.

Hat jemand gute Ressourcen für einen guten Übergang von Java/C# zu C++?Offensichtlich werden Hinweise ein großes Problem sein, aber gibt es noch andere Dinge, auf die ich achten sollte?Alle Tutorials, Anleitungen usw.wäre sehr hilfreich!

Danke!

War es hilfreich?

Lösung

Ja, ich wurde von demselben Käfer heimgesucht.Die Universität stützte sich in der Regel auf Java und erlaubte einem dann, die Sprache auszuwählen, mit der man bei Projekten arbeiten wollte.

Der beste Weg ist, einfach einzusteigen.Fangen Sie klein an, machen Sie kleine Schritte und googeln Sie einfach Dinge, die Sie verwirren, wenn Sie dort ankommen.Finden Sie auch Projekte, die ihren Quellcode veröffentlicht haben.Sehen Sie, wie sie ihre Programme strukturieren.Im Grunde einfach an Konzepten herumbasteln.Es gibt viele Informationen im Internet.

Machen Sie es lustig und schnappen Sie sich einen Buch zur C++-Spieleentwicklung damit es nicht zu schnell betäubend wird.

Hier sind einige Orte, die ich beim Lernen nützlich fand

http://www.cprogramming.com/

http://www.wikipedia.com

http://www.cplusplus.com/

Andere Tipps

Wenn Sie Java/C# bereits kennen, würde ich empfehlen, direkt zu C statt zu C++ zu wechseln.Laut der Website verfügt GLUT über die gleichen Bindungen für C wie C++, Sie sollten also bereit sein.Wie auch immer, der beste Weg, C zu lernen, besteht darin, ein Exemplar von „The C Programming Language“ zu kaufen und zu lesen, sich an Ihren C-Compiler zu setzen und Ihre Sachen zum Laufen zu bringen.

Effective C++ von Scott Meyers ist ein großartiges Buch, das Ihnen beim Erlernen von C++ hilft.Gibt Ihnen einen Überblick über die Sprache und stellt viele Schlüsselkonzepte vor, die Sie bei der Entwicklung praktisch aller C++-Programme verwenden werden.

Effective C++ von Scott Meyers ist ein großartiges Buch, das Ihnen beim Erlernen von C++ hilft.Gibt Ihnen einen Überblick über die Sprache und stellt viele Schlüsselkonzepte vor, die Sie bei der Entwicklung praktisch aller C++-Programme verwenden werden.

Ich liebe dieses Buch in allen drei Ausgaben und es war eines der Bücher in einem Kurs, den ich als Senior an der UT hatte, aber es ist einfach kein Einsteigerbuch.Sie können sich mit viel weniger Aufwand in C++ einarbeiten, mit dem Compiler werden Sie allerdings erst dann vertraut sein, wenn Sie Meyers Arbeit gelesen haben.

Ich weiß nicht, ob es noch gedruckt ist, aber ich habe es gefunden Navigieren in C++ nützlich, aber ich fühlte mich auch mit den Hinweisen von Pascal sehr wohl.Äh, ich vergesse natürlich, dass man vor 15 Jahren lernen musste, was OOP ist, jetzt ist es etwas mehr angenommen.Vielleicht ist Meyers Meinung also nicht unangebracht.Gedanken?

Wikipedia hat einen Artikel darüber Vergleiche zwischen Java und C++.

Sie müssen sich in C++ keine Gedanken über geprüfte Ausnahmen machen, aber Sie müssen darüber Bescheid wissen const Korrektheit.

Es gibt zwei Hauptunterschiede:die Syntax und Speicherverwaltung.

In C++ gibt es Zeiger, die leistungsfähigere (oder weniger leistungsstarke, abhängig von Ihrer Interpretation von Leistung) Objektreferenzen sind, die Sie bereits aus Java kennen.

In Java könnten Sie Folgendes tun:

Thing mything = new Thing(); // mything is an object reference
mything.method();

In C++ würden Sie Folgendes tun:

Thing * mything = new Thing(); // mything is an object pointer
mything->method();
delete mything;

Der syntaktische Unterschied ist offensichtlich:'->' statt '.' beim Aufrufen einer Objektmethode von einem Zeiger auf ein Objekt.In C++ müssen Sie den Speicher explizit freigeben, wenn Sie mit einem Objekt fertig sind.Letzten Endes machen Sie in C++ und Java dasselbe: Objekte instanziieren und Methoden aufrufen, am Ende jeder Zeile nutzlose Semikolons einfügen usw.Ist es ein Wunder, dass Python so beliebt wird?:

mything = Thing() # mything is whatever I want it to be
mything.method()

Wenn Sie einen halbwegs anständigen C++-Text durchgehen, können Sie die restlichen Details besser ausfüllen.

Ich kann Bruce Eckel's auch wärmstens empfehlen Denken in C++.Ein fantastisches Buch für bereits erfahrene Programmierer, die in die C++-Denkweise einsteigen möchten.

Er ist so freundlich, elektronische Versionen seiner Bücher zu erstellen kostenlos erhältlich.

Ich empfehle dringend, dass jeder, der lernt, C ++ StrouStrups "Die C ++ -Pergrammensprache" liest. Meyers und Eckel haben großartige Sachen, aber nichts geht über das Lernen von dem Mann, der entschieden hat, wie die Sprache sein sollte und wie er beabsichtigt hat, dass sie verwendet werden soll.

Ich hatte genau das gleiche Problem.Das einzige Buch, das ich finden konnte, war „Pro Visual C++ 2005 für C#-Entwickler“ von Dean C.Testamente.Es ist eine gute Lektüre mit hervorragenden Beispielen, und ich denke, der Blickwinkel, aus dem das Buch stammt, ist wahrscheinlich genau das, wonach Sie suchen.

Sie benötigen ein völlig anderes Gefühl für den Umgang mit Erinnerungen.Denken Sie auch daran, alles freizugeben, was Sie nicht mehr benötigen.In Java und C# lassen Sie einfach Ihre Objekte los und der Speicher wird für Sie aufgeräumt – das ist in CPP nicht möglich

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top