Allg. Fragen zu C++
-
Hallo zusammen.
Ich möchte C++ lernen. Nun ist die Frage welches Buch ich mir kaufen soll.
Davor muss ich mich aber m.E. dafür entscheiden ob ich C++(.NET) oder ANSI C++ lernen will, oder?
was sollte man eher lernen?
Wenn ich mir ein Buch zu Visual C++ kaufe dann müsste es eins für .NET sein, oder?
Wenn ich ISO C++ lernen würde, dann würde ich die MFC nutzen, oder?
Unter Visual Studio 2005 kann ich u.a.
-unter CLR eine Windows Forms Application
-unter MFC eine MFC Application
und
-unter Win32 ein Win32 Project machen.
Verstehe ich das folgendermaßen richtig:
Wenn ich ne CLR Application erstelle, dann erstelle ich eine C++ .NET Anwendung mit MSIL CodeWenn ich eine MFC Application erstelle, dann erstelle ich eine ISO C++ Anwendung unter der Hilfe von MFC (gibt es da auch einen grafischen Editor?)
Wenn ich ein Win32 Project erstelle, dann erstelle ich eine ISO C++ Anwendung ohne die Hilfe von MFC
Ist das soweit richtig?
Bitte klärt mich darüber etwas auf, damit ich mich für ein Buch und ein C++ entscheiden kann.
Unterscheidet sich die Syntax zwischen ANSI C++ und C++/CLI stark?
Bisher habe ich etwas Erfahrung in C# und Java.
Vielen vielen Dank
Gruß
-
Hmm stimmt das meiste schonmal nicht ^^
Wenn ich ISO C++ lernen würde, dann würde ich die MFC nutzen, oder?
Also, die MFC hat schonmal GARNICHTS damit zu tuen ob du standardkomformes C++ programmierst oder nicht. Wenn du standardkomformes C++ Programmieren willst, brauchst du nur einen Compiler der dies richtig übersetzt. Der Microsoft Visual C++ Compiler ist eine ziemlich gute Möglichkeit. Kostenlos ist aber auch der g++ zu erhalten.
Wenn ich eine MFC Application erstelle, dann erstelle ich eine ISO C++ Anwendung unter der Hilfe von MFC (gibt es da auch einen grafischen Editor?)
Also, die MFC ist ein sozusagen nur ein Wrapper bzw eine Kapselung der WinAPI in Klassen ... und noch ein wenig mehr aber das ist fürs erste uninteressant.
unter Win32 ein Win32 Project machen.
Falls du mit Visual Studio 2005 zufällig Microsoft Visual C++ 2005 Express Edition meinst, ist dies eine Konsole. Um WinAPI Anwendungen erstellen zu können, musst du dies erst aktivieren.
Wenn ich ein Win32 Project erstelle, dann erstelle ich eine ISO C++ Anwendung ohne die Hilfe von MFC
Win32 Project heißt erstmal nur das es ein Projekt ist, das nachher auf einem 32bit Windowsumgebung laufen soll... Es liegt an dir ob du dem Standard entsprechenden Code schreibst. Die WinAPI ist eigentlich C. D.h. kapselt die MFC ja auch WinAPI usw.
-
GaDgeT schrieb:
Davor muss ich mich aber m.E. dafür entscheiden ob ich C++(.NET) oder ANSI C++ lernen will, oder?
Du kannst auch beides lernen
Dein C++(.NET) ist eigentlich C++/CLI. Ich habe das CLI noch nicht gemacht, aber so riesig werden die Unterschiede da nicht sein, was den Syntax angeht.GaDgeT schrieb:
was sollte man eher lernen?
Geschmackssache, da gibts schon genug Threads drüber, welche Sprache besser sein soll^^
GaDgeT schrieb:
Wenn ich mir ein Buch zu Visual C++ kaufe dann müsste es eins für .NET sein, oder?
Nein eigentlich nicht. Die .NET Bücher beziehen sich auf Visual Studio .NET. Ob die nun C# oder C++ oder C++/CLI behandeln da musst du nur einen Blick in das Inhaltsverzeichnis werfen. Mit Visual C++ .NET ist aber meist C++ mit MFC unter VS 2002/2003 gemeint. Manchmal auch Mischbücher. Ich hab hier eins stehen, wo der erste Teil C++ ist und der zweite in C# einführt.
GaDgeT schrieb:
Wenn ich ISO C++ lernen würde, dann würde ich die MFC nutzen, oder?
MFC baut auf Standard C++ auf ja, aber für C++ ist MFC natürlich keine Voraussetzung.
GaDgeT schrieb:
Wenn ich eine MFC Application erstelle, dann erstelle ich eine ISO C++ Anwendung unter der Hilfe von MFC (gibt es da auch einen grafischen Editor?)
Jo das stimmt so und einen Editor gibts auch dazu

GaDgeT schrieb:
Wenn ich ein Win32 Project erstelle, dann erstelle ich eine ISO C++ Anwendung ohne die Hilfe von MFC
richtig, wobei man auch hier MFC per Hand mit hinzufügen kann, wenn man will.
So och les grad du kannst ja schon C#, da weis ich nicht, wieviel Sinn es macht C++/CLI speziell zu lernen. Ich würde dir da lieber zu C++ raten. Wenn du das kannst, dann ist auch C++/CLI kein Problem für dich, erst recht nicht wenn du eh schon Erfahrungen im .NET Bereich hast.
-
GaDgeT schrieb:
Wenn ich ein Win32 Project erstelle, dann erstelle ich eine ISO C++ Anwendung ohne die Hilfe von MFC
richtig, wobei man auch hier MFC per Hand mit hinzufügen kann, wenn man will.
Hmm ne net wirklich wa... erstell mal eine normale Win32 nicht-Konsolenanwendung ... dann beschreib mir mal was du dort für eine Art von Code vor dir hast ....
-
(D)Evil schrieb:
GaDgeT schrieb:
Wenn ich ein Win32 Project erstelle, dann erstelle ich eine ISO C++ Anwendung ohne die Hilfe von MFC
richtig, wobei man auch hier MFC per Hand mit hinzufügen kann, wenn man will.
Hmm ne net wirklich wa... erstell mal eine normale Win32 nicht-Konsolenanwendung ... dann beschreib mir mal was du dort für eine Art von Code vor dir hast ....
Warum sollte das nicht gehen? In Konsolenanwendungen kann ich ja auch MFC-Klassen benutzen.
-
das meinte ich nicht. Guck dir mal eine Win32 nicht-Konsolen Anwendung an.
-
Devil! Was meinst du? Etwa WinMain()? Die ist doch seit Windows 2000 Pro obsolet. Du kannst auch ohne WinMain(), und dafür mit main(), eine Nicht-Konsolen-Anwendung erzeugen. Denn seit Windows2000 Pro ist keine hinstanz mehr nötig, um Fenster zu erstellen. Win32-Fenster-Anwendungen entsprechen ISO-C bzw. ISO-C++. Lediglich wegen Abwertskompatibilität wird von Wizard ein WinMain erzeugt. Ich erstelle alle meine Win32-Fenster-Anwendungen mit ner main(), dafür läuft meine Soft halt nur ab Win2k.
-
Artchi schrieb:
Etwa WinMain()? Die ist doch seit Windows 2000 Pro obsolet.
du siehst sie nur nicht. aber es gibt sie noch

Artchi schrieb:
Du kannst auch ohne WinMain(), und dafür mit main(), eine Nicht-Konsolen-Anwendung erzeugen.
musst nur die 'console' killen. mit 'FreeComsole' z.b.
Artchi schrieb:
Win32-Fenster-Anwendungen entsprechen ISO-C bzw. ISO-C++.
also zumindest im ISO-C spec. steht garantiert nix über win32..