Thema: C++ = C++ ?

Einzelnen Beitrag anzeigen

Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#3

Re: C++ = C++ ?

  Alt 11. Apr 2007, 16:24
Zitat von ebber:
Delphi-Quellcode:

#include <iostream.h>

oder

cout << "Hello World";
Wenn ich das aber in Visual Studio eintippe will das alles nicht funktionieren.
Hi,
erstmal kurz zu C-Code, wenn Du das Delphi durch C ersetzt, bekommst Du auch für C das richtige Highlighting

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:
std::cout << "Hello World";
oder eben

Code:
#include "iostream" using namespace std;

// ...
cout << "Hello World"
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!

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:
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!
[/add]
  Mit Zitat antworten Zitat