JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.phpMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

C++ Standard
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Maxim
Senior JLI'ler



Anmeldedatum: 28.03.2004
Beiträge: 249

Medaillen: Keine

BeitragVerfasst am: 27.12.2005, 12:20    Titel: C++ Standard Antworten mit Zitat

Hallo!
Ich wollte mich über den aktuellen C++ - Standard informieren, doch finde ich keine vernünftige Informationsquelle. Ich war auf der ISO – Site...na ja... was soll ich sagen...der Gestallter der Site soll gefeuert werden! Also ich wurde nicht schlauer daraus.

Gibt es vielleicht eine Website, die das Thema einigermaßen gut behandelt?
Ich will einfach wissen, was in C++ erlaubt ist und was nicht.
z.B. was ist richtig?
Code:
void main(void)

oder
Code:
int main(void)

oder
Code:
int main(int argc, char *argv[])




Tschüss!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
DirectXer
Dark JLI'ler



Anmeldedatum: 05.02.2005
Beiträge: 1201
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 27.12.2005, 12:24    Titel: Re: C++ Standard Antworten mit Zitat

CPP:
int main(int argc, char *argv[])


das wäre natürlich höchster standard, den du inj diesem Fall haben solltes.

CPP:
void main(void)


ist ein absolutes Verbrechen. O.o


...Naja, also die 2. deiner Möglichkeite wäre eher so ein MischMasch, aber auch noch angemessen. Das mit void is eigentlich oft fälschlicherweise gut angegeben, obwohl das eigentlich Vergewaltigung von C++ is, das wird nur geduldet. Rückgabewert int is eher am Standard

Gruß DirectXer
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 27.12.2005, 12:37    Titel: Antworten mit Zitat

Maxim
Kauf Dir den Standard Wink Die Site ist natürlich fürn *****

Standard ist:

CPP:
int main (void)
// bzw.
int main(int argc, char *argv[])
Bitte Freiraum zwischen Wort und Klammer, so wie Du es ja in der deutschen Sprache ja auch machst Wink

der void main-Kram ist seit mehreren Jahren (Bald mehr als 1 Jahrzehnt!) veraltet genau wie .h-Header
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Loigie
Junior JLI'ler



Anmeldedatum: 29.06.2004
Beiträge: 52
Wohnort: NRW
Medaillen: Keine

BeitragVerfasst am: 27.12.2005, 12:43    Titel: Antworten mit Zitat

Am besten ist natürlich du Kaufst dir das Buch "The C++ Programming Language" von Bjarne Stroustrup. Der muss schließlich wissen was richtiges C++ ist Wink
Das Buch gibt es auch als deutsche Übersetzung.
Ist allerdings nich ganz billig und auch kein einsteiger Buch.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Maxim
Senior JLI'ler



Anmeldedatum: 28.03.2004
Beiträge: 249

Medaillen: Keine

BeitragVerfasst am: 27.12.2005, 13:02    Titel: Antworten mit Zitat

Hab doch noch was gefunden:
http://public.research.att.com/~bs/bs_faq2.html
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
CorDharel
Junior JLI'ler



Anmeldedatum: 15.10.2002
Beiträge: 73
Wohnort: Winterthur, Zürich, CH
Medaillen: Keine

BeitragVerfasst am: 27.12.2005, 14:50    Titel: Antworten mit Zitat

Ich habe das mal so gelernt in einem C Kurs Rolling Eyes mit dem LCC-Compiler

Code:
void main(void)


"Das ist ne Mainfunktion die keinen Wert zurückgibt"

dann die erste Fehlermeldung in MSVC++:
"Main muss einen Integer zurückgeben" oder sowas Smile
_________________
Greetz CorDharel
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
DirectXer
Dark JLI'ler



Anmeldedatum: 05.02.2005
Beiträge: 1201
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 27.12.2005, 14:58    Titel: Antworten mit Zitat

CorDharel hat Folgendes geschrieben:
Ich habe das mal so gelernt in einem C Kurs Rolling Eyes mit dem LCC-Compiler

Code:
void main(void)


"Das ist ne Mainfunktion die keinen Wert zurückgibt"

dann die erste Fehlermeldung in MSVC++:
"Main muss einen Integer zurückgeben" oder sowas Smile

hmm, ich kann mich irgendwie net erinnern, dass der MSVC++-Compiler deswegen ne Fehlermeldung rausgeben würde? Is halt nur net der Standard, wird aber trotzdem akzeptiert
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Chriss
Senior JLI'ler



Anmeldedatum: 18.08.2004
Beiträge: 267

Medaillen: Keine

BeitragVerfasst am: 28.12.2005, 23:48    Titel: Antworten mit Zitat

@Patrick: Wenn .h-Header veraltet sind was nimmt man dann?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
KI
JLI Master


Alter: 39
Anmeldedatum: 04.07.2003
Beiträge: 965
Wohnort: Aachen
Medaillen: Keine

BeitragVerfasst am: 28.12.2005, 23:58    Titel: Antworten mit Zitat

Chriss hat Folgendes geschrieben:
@Patrick: Wenn .h-Header veraltet sind was nimmt man dann?

.hpp-Header meint er wohl.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 29.12.2005, 00:04    Titel: Antworten mit Zitat

KI
Kennst Du eine <iostream.hpp> oder <cmath.hpp>? Ich net Wink
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
KI
JLI Master


Alter: 39
Anmeldedatum: 04.07.2003
Beiträge: 965
Wohnort: Aachen
Medaillen: Keine

BeitragVerfasst am: 29.12.2005, 00:15    Titel: Antworten mit Zitat

ach darum gehts Smile
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 29.12.2005, 00:16    Titel: Antworten mit Zitat

KI
Yep Wink
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Chriss
Senior JLI'ler



Anmeldedatum: 18.08.2004
Beiträge: 267

Medaillen: Keine

BeitragVerfasst am: 29.12.2005, 11:13    Titel: Antworten mit Zitat

Ja und was wird dann genommen? Soll man wie in Java oder C# alles in die Klassendeklaration reinschreiben?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
David
Super JLI'ler


Alter: 40
Anmeldedatum: 13.10.2005
Beiträge: 315

Medaillen: Keine

BeitragVerfasst am: 29.12.2005, 13:40    Titel: Antworten mit Zitat

Hi!

Er meint wohl die Standardheader von C, wie "stdio.h" etc... In C++ werden die Headerdateien ohne Dateiendung verwendet. Also "iostream" usw.

grüße
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Database
Mini JLI'ler



Anmeldedatum: 20.11.2004
Beiträge: 24
Wohnort: Hinter den sieben Bergen
Medaillen: Keine

BeitragVerfasst am: 02.01.2006, 20:47    Titel: Antwort Antworten mit Zitat

David hat Folgendes geschrieben:
Hi!

Er meint wohl die Standardheader von C, wie "stdio.h" etc... In C++ werden die Headerdateien ohne Dateiendung verwendet. Also "iostream" usw.

grüße


Das ist nicht ganz richtig. Du kannst in diesem Fall beides tunn

Code:
#include <iostream>

oder:
Code:
#include <iostream.h>


Verschiedene Compiler interpretieren dies jeweils anders. Ein Visual Studio Compiler 6 interpretiert dies anders als ein Visual Studio 2003 Prof. mit installierter MFC.

Auch wichtig:
Schau dir folgendes Codefragment an:
Code:
#include <iostream>
using namespace std;

int main()
{
   cout << "Hallo Welt";
   cout << endl;

   return 0;
}


Wie du siehst habe ich <iostream> ohne die Header Endung .h mit eingebunden. In diesem Fall müssen wir auch noch die Namespace mit einbinden, ansonsten funktioniert "cout" nicht.

Schau dir folgendes Codefragment an:
Code:
#include <iostream.h>

int main()
{
   cout << "Hallo Welt";
   cout << endl;

   return 0;
}


Dies funktioniert auch ganz toll. Keine Fehler. Wenn man nun aber den die Namespace
Code:
using namespace std;
schreibt, dann gibt MVS eine schöne Fehlermeldung aus.
Man hätte natürlich auch oben
Code:
int main(void)
schreiben können.
Es geht auch:
Code:
void main(void)

Wenn man sauber programmieren will, sollte man aber am Ende eines Programmes einen int-Wert zurückgeben. Sprich:
Code:
return 0;
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik Alle Zeiten sind GMT
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum