AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

C++ = C++ ?

Ein Thema von ebber · begonnen am 11. Apr 2007 · letzter Beitrag vom 20. Feb 2008
Antwort Antwort
Seite 1 von 3  1 23      
ebber

Registriert seit: 31. Okt 2006
243 Beiträge
 
#1

C++ = C++ ?

  Alt 11. Apr 2007, 16:57
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:

#include <iostream.h>

oder

cout << "Hello World";
Wenn ich das aber in Visual Studio eintippe will das alles nicht funktionieren.


Ich habe jetzt das gefunden was funktioniert :

Delphi-Quellcode:

#include "iostream" using namespace std;

printf("Hello World");
Was ist jetzt da der unterschied ? Bei beidem steht ja C++ ?

MfG
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: C++ = C++ ?

  Alt 11. Apr 2007, 17:03
bei dem einen wird die Funktion printf aufgerufen bei der anderen wird mit dem "<<" operator gearbeitet.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Der_Unwissende

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

Re: C++ = C++ ?

  Alt 11. Apr 2007, 17: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
ebber

Registriert seit: 31. Okt 2006
243 Beiträge
 
#4

Re: C++ = C++ ?

  Alt 11. Apr 2007, 17:39
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
  Mit Zitat antworten Zitat
Der_Unwissende

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

Re: C++ = C++ ?

  Alt 11. Apr 2007, 17:46
Zitat von ebber:
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 ?
Na das Schlimmste hast Du schon geschafft, sehr viel mehr Fallen gibt es auf dem Weg zum "Hello World!" nicht und die meisten Tutorials fangen damit an. Bei den weiteren Beispielen weißt Du ja schon bescheid. Beim Import musst Du im Zweifel immer schauen, ob Du ein .h angeben musst oder nicht. An sich wirst Du hier (wahrscheinlich) etwas in der Form "Header" finden, wenn es um Bibliotheksdateien geht und "Header.h" für die, die Du selbst geschrieben hast, bzw. die unter Header im Projekt angezeigt werden.
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, ...)
  Mit Zitat antworten Zitat
Torpedo

Registriert seit: 21. Dez 2003
410 Beiträge
 
#6

Re: C++ = C++ ?

  Alt 11. Apr 2007, 17:51
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:
#include <iostream>
using namespace std;

int main() {
   cout<<"Hello World!"<<endl;
   return 0;
}
C:
Code:
#include <stdio.h>

int main() {
   printf("Hello World!");
   return 0;
}
  Mit Zitat antworten Zitat
Benutzerbild von jmit
jmit

Registriert seit: 24. Feb 2005
Ort: Langelsheim
383 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: C++ = C++ ?

  Alt 11. Apr 2007, 18:30
Hallo,

Zitat von ebber:

..Gibts vielleicht auch ein Einführungstutorial dafür ?

MfG
Ein spezielles Tutorial für VS2005 kenne ich nicht, aber ich würde auch mit einem allgemeinem C++ Tutorial beginnen.
Zum Suchen einfach einmal Google bemühen.

Gruß Jörg
Windows 7, Firefox Version 3.6, Turbo Delphi für Win32
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#8

Re: C++ = C++ ?

  Alt 11. Apr 2007, 22:33
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()).
  Mit Zitat antworten Zitat
hsg

Registriert seit: 24. Apr 2006
Ort: Wustermark
354 Beiträge
 
Delphi 10.3 Rio
 
#9

Re: C++ = C++ ?

  Alt 12. Apr 2007, 07:35
Zitat von Der_Unwissende:
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
Die Unterschiede betreffen (leider) auch oft die Sprache selber, so ist z.B. folgender Code unter BCB6 korrekt:
Code:
for (int i=1; i<10; i++) {
....}

for (int i=2; i<100; i++) {
....
}
Dasselbe unter VSC++ funktioniert nicht, da in der 2. for-Schleife das i bereits definiert ist.

So war es zumindest, als ich noch C++ Code schreiben durfte........
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#10

Re: C++ = C++ ?

  Alt 12. Apr 2007, 08:49
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.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz