![]() |
C++ = C++ ?
Hallo
wollte mir eigentlich C++ ein wenig anschauen mit Visual Studio. Ich habe mir jetzt mehrer Tutorials angesehen aber in allen steht was von
Delphi-Quellcode:
Wenn ich das aber in Visual Studio eintippe will das alles nicht funktionieren.#include <iostream.h> oder cout << "Hello World"; Ich habe jetzt das gefunden was funktioniert :
Delphi-Quellcode:
Was ist jetzt da der unterschied ? Bei beidem steht ja C++ ? :wiejetzt: #include "iostream" using namespace std; printf("Hello World"); MfG |
Re: C++ = C++ ?
bei dem einen wird die Funktion printf aufgerufen bei der anderen wird mit dem "<<" operator gearbeitet.
|
Re: C++ = C++ ?
Zitat:
erstmal kurz zu C-Code, wenn Du das Delphi durch C ersetzt, bekommst Du auch für C das richtige Highlighting :wink: Was Dein Problem angeht, so hast Du hier bekanntschaft mit dem Namensraum gemacht. Die Frage die sich hier stellt ist, welches VS Du verwendest, ab einer bestimmten Version (kenne ich nicht aus dem Kopf) musst Du die Namensräume immer angeben. Also entweder
Code:
oder eben
std::cout << "Hello World";
Code:
Beim Include liegt der wichtige Unterschied darin, wo die Datei liegt, die Du einbinden möchtest. Liegt sie im gleichen Verzeichnis wie Dein Programm, verwendet man die Anführungszeichen. Liegt sie im Suchpfad des Compilers, werden die spitzen Klammern verwendet. Da .h kann/muss man (afaik) auch erst ab einer bestimmten Version weglassen. Zudem musst Du aufpassen, ob Du eine managed C++ Version verwendest (also das .net Pendant), da dürfte es einige Änderungen geben, die von den Standard C++ Tutorials abweichen!
#include "iostream" using namespace std;
// ... cout << "Hello World" Nebenbei um die Frage mal ganz klar zu beantworten C++ != C++ Die sind nicht immer gleich, je nach Compiler wirst Du schnell ein paar (kleine) Unterschiede finden. Das meiste davon betrifft natürlich nicht direkt die Sprache, sondern eher die mitgelieferten/verfügbaren Bibliotheken, die Arbeit mit make-Files usw. Gruß Der Unwissende [add] Ach ja, printf vs. cout, ich glaube printf war die ältere Variante. Jedenfalls steht printf für die Formatierte Ausgabe, hier gibt es ziemlich starke Parallelen zu format von Delphi. Du gibst dabei einen String mit Platzhaltern an und übergibst die Argumente, die an dieser Stelle eingefügt werden sollen:
Code:
[/add]
printf("Dies ist ein String, in den ein String %s und ein Integer %d eingefügt wird", "BLUBB", 10);
// sollte "Dies ist ein String, in den ein String BLUBB und ein Integer 10 eingefügt wird" ausgeben // Das gleiche mit cout hätte wohl die Form cout << "Dies ist ein String, in den ein String" << "BLUBB" << "und ein Integer" << 10 << "eingefügt wird" // bei cout bin ich mir nicht ganz sicher, zu lange nicht mit C++ gearbeitet, also lieber nicht glauben! |
Re: C++ = C++ ?
Gut, Danke.
Ich hab das mit VS 2005 gemacht. In den ganzen Tutorials steht aber das oben erwähnte. Gibts vielleicht auch ein Einführungstutorial dafür ? MfG |
Re: C++ = C++ ?
Zitat:
Wenn Du das berücksichtigst (ist ja nicht so kompliziert, oder?) dann solltest Du den Rest der Tutorials ganz gut verwenden können. Die meisten fangen eben (wie gesagt) bei "Hello World" an und erklären dann nach und nach die Sprache (Datentypen, Kontrollstrukturen, Fehlerbehandlung, Klassen, ...) |
Re: C++ = C++ ?
cout ist C++, printf funktioniert auch unter C.
Natürlich gibt es viele Arten so ein einfachen Programm wie Hello World zu programmieren. Hier sind mal die, die ich für am "normalsten" halte: C++:
Code:
C:
#include <iostream>
using namespace std; int main() { cout<<"Hello World!"<<endl; return 0; }
Code:
#include <stdio.h>
int main() { printf("Hello World!"); return 0; } |
Re: C++ = C++ ?
Hallo,
Zitat:
Zum Suchen einfach einmal Google bemühen. Gruß Jörg |
Re: C++ = C++ ?
Wieso wird hier mit Kanonen auf Spatzen geschossen? printf() ist zum formatierten Ausgeben von Werten in einem String. Wenn es hier um die reine Stringausgabe geht, dann muss man doch nicht gleich mit dem grossen Holzhammer kommen (wobei hier nichtmal eine Variable ausgegeben wird) sondern nutzt lieber eine einfachere - bessere geeignete Funktion (z.B. puts()).
|
Re: C++ = C++ ?
Zitat:
Code:
Dasselbe unter VSC++ funktioniert nicht, da in der 2. for-Schleife das i bereits definiert ist.
for (int i=1; i<10; i++) {
....} for (int i=2; i<100; i++) { .... } So war es zumindest, als ich noch C++ Code schreiben durfte........ |
Re: C++ = C++ ?
sowas macht man ja auch nicht (eine Variable 2 mal declarieren). Selbst wenn der Compiler das unterstützt sollte man sich das gar nicht erst angewöhnen, schließlich entbehrt das jeder logic.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:50 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz