Schrift
[thread]1087[/thread]

Hello World: Meine ersten Gehversuche (Seite 2)



<< |< 1 2 3 >| >> 25 Einträge, 3 Seiten
format_c
 2003-09-10 10:22
#11140 #11140
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Also kommt das cout, cin und endl aus der "iostream.h"?
Was sind cout ... Objekte, Funktionen

Gruß Akex
SirLant
 2003-09-10 14:06
#11141 #11141
User since
2003-08-04
516 Artikel
BenutzerIn
[default_avatar]
Und übrigens void main ist verboten, das lassen nur Compiler
zu die sich nicht an die Standards halten, hatte erst ne Diskussion
in nem anderen Board, hier mal nen paar Auszüge:
Quote
void main ist flasch... basta (will jemand die entsprechenden Paragraphen aus dem C-Standard raussuchen?). Nur weil es ein paar kaputte Compiler gibt, die void main akzeptieren, ist es noch lange nicht richtig. Der Rückgabewert von int main ist gleichzeitig der Exitcode des zugehörigen Prozesses. Insbesondere Microsoft-Compiler liefern irgendeinen zufälligen Mist als Exitcode zurück, wenn man void main verwendet. Also => int main.

Ich hab's irgendwann mal ausprobiert, ein void main führt z. B. bei MS (oder war's Intel?) C++ zu einem Programm, das seinen Exitcode nicht korrekt setzt. Ist auch nicht weiter verwunderlich, wenn man sich das ganze mal auf Asm-Ebene anschaut. Der Rückgabewert einer Funktion wird, soweit er reinpasst, im Register EAX gespeichert. Wenn void main() endet steht irgendwelcher Müll in EAX, eben das, was zuletzt drin abgelegt wurde. Die CRT macht da keinen Unterschied und nimmt diesen Müll dann als Exitcode.

Hier noch nen Link zu dem Thema
http://faq.cprogramming.com/cgi-bin....3284376

Ein C++-Tutorial, das keine solche extremen Fehler enthält:
http://www.schornboeck.net/ckurs/
--Programming today is a race between Software Enginers striving to build bigger and better idiot-proof Programs,
and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
esskar
 2003-09-10 14:54
#11142 #11142
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=format_c,10.09.2003, 08:22]Also kommt das cout, cin und endl aus der "iostream.h"?
Was sind cout ... Objekte, Funktionen

Gruß Akex[/quote]
unter anderem ja...
cout und cin (aus der iostream.h) sind funktionen, die einen ostream (cout) bzw. einen istream (cin) nehmen; o/istream ist eine template klasse

std::cout und std::cin (aus der iostream) sind funktionen, die einen std::ostream (std::cout) bzw. einen std::istream (std::cin) nehmen; std::o/istream ist eine template klasse

interessanterweise ist std::cout bzw. std::cin mit den normalen istream/ostream Klassen kompatibel...
cout/cin aber nicht mit std::ostream/std::istream

endl/std::endl sind ebenfalls funktionen, und liefern einen ostream/std::ostream zurück, welcher unter Win \r\n enthält und unter *nix \n etcpp.

ich würde iostream (ohne .h) empfehlen, weil die auf allen OS's gleich funktionieren!
format_c
 2003-09-10 15:01
#11143 #11143
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Danke für die Erklärung.
Ich denke dass ich noch einige Fragen zum Thema C++ stellen werd ;)

Gruß Alex
Crian
 2003-09-10 16:19
#11144 #11144
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Zu main gibt es nur zwei vom Standard gedeckte Prototypen,

int main()

und

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

Dann gibts noch Erweiterungen, wo man die environment-Variablen mit eingegeben bekommt, aber main liefert immer etwas zurück, deshalb bitte kein void davor schreiben.

Zu void als Parameterliste: Das ist C-Style und in C++ unerwünscht, dafür nimmt man dort die leere Klammer ().

Es ist ja schon eine Weile her, aber ich kann nur die deutschsprachigen Newsgroups zu C++ empfehlen, da bekommt man ziemleich schnell ein Gefühl dafür, was man macht und was besser nicht.
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
SirLant
 2003-09-10 16:31
#11145 #11145
User since
2003-08-04
516 Artikel
BenutzerIn
[default_avatar]
Dem habe ich nichts hinzuzufügen :)
--Programming today is a race between Software Enginers striving to build bigger and better idiot-proof Programs,
and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
format_c
 2003-09-10 17:22
#11146 #11146
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
@Crian: Das Angebot nehme ich mal gern an. Dann empfiel mir mal bitte.

Gruß Alex
renee
 2003-09-10 17:26
#11147 #11147
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ich wäre auch an der Empfehlung interessiert, weil ich bald wieder C++ programmieren muss (Berufsschule)...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
SirLant
 2003-09-10 19:22
#11148 #11148
User since
2003-08-04
516 Artikel
BenutzerIn
[default_avatar]
de.comp.lang.iso-c++
so heißt die
--Programming today is a race between Software Enginers striving to build bigger and better idiot-proof Programs,
and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
format_c
 2003-09-11 11:06
#11149 #11149
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Ah danke. Wo kann ich mich da anmelden?

Gruß Alex
<< |< 1 2 3 >| >> 25 Einträge, 3 Seiten



View all threads created 2003-09-09 23:51.