Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » unterschied in for schleife

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ] [ 3 ]
000
09.09.2007, 12:52 Uhr
cmos



hallo,
letztens auf arbeit meinte ein programmierer zu mir
ich solle statt

C++:
for(int i = 0;. .......)



dieses

C++:
int i = 0;
for(i;....)


schreiben.
die erste variante hätte wohl schonmal probleme gebracht und
wäre nicht c++ konform ?
Ich kenne es nur vom C her so, dass man die 2. variante benutzen muss, aber
nicht von C++ her.
Stimmt das ? Ich kanns mir eigentlich nicht vorstellen..

grüße
cmos
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
09.09.2007, 13:00 Uhr
Pler
Einer von Vielen
(Operator)


Hab ich auch noch nie gehört.
Eventuell wenn man nach der Schleife noch wissen möchte, wie weit sie gezählt hat ...

Dieser Post wurde am 09.09.2007 um 13:01 Uhr von Pler editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
09.09.2007, 13:25 Uhr
Blubber2063



Doch in C++ sollte der Scope von der ersten Variante richtig aufgelöst werden, in C geht nur die 2. Variante.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
09.09.2007, 13:43 Uhr
xXx
Devil


Ähm der Type hat wohl relativ wenig Ahnung ...
Normal solltest du das 1. nehmen. Wenn du allerdings die Variable nach der for-Schleife weiterhin brauchst, solltest du sie vor der for-Schleife(2. Variante) schreiben, da in der 1.Variante, i bereits nach der for-Schleife wieder freigegeben wird.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
09.09.2007, 13:52 Uhr
FloSoft
Medialer Over-Flow
(Administrator)



Zitat von xXx:
Ähm der Type hat wohl relativ wenig Ahnung ...
Normal solltest du das 1. nehmen. Wenn du allerdings die Variable nach der for-Schleife weiterhin brauchst, solltest du sie vor der for-Schleife(2. Variante) schreiben, da in der 1.Variante, i bereits nach der for-Schleife wieder freigegeben wird.

und in C ist nur 2te Variante erlaubt, in C++ verstehen viele ältere compiler


C++:
for(int i = 0;. .......)
  // ...

for(int i = 0;. .......)
  // ...



hintereinander nicht korrekt, da baut der compiler das intern zu 2ter variante um. Jeder neuere macht das aber richtig, und i ist nach der forschleife undefiniert.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
09.09.2007, 15:12 Uhr
Kest
saint


Hi!

Also, ich hab mal was vonwegen gehört, dass >for(int i = 0;. .......)< auch in >C99< wie >C++< erlaubt ist. Allerdings funzt das bei keinem meiner Kompiler. Hat einer auch was davon gehört?

Wie zum Henker schreibt das richtig: >Compiler< oder >Kompiler<?
--
Wenn man einen Hufschlag hört, sollte man >Pferd< denken und nicht >Zebra<.

Dieser Post wurde am 09.09.2007 um 15:14 Uhr von Kest editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
09.09.2007, 17:25 Uhr
Suba Esel



(OT)
@ Kest: Compiler natürlich.... das ist "nur" Englisch im Deutschen - das andre ist falsch eingedeutschtes Englisch....
--
Simon
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
09.09.2007, 19:35 Uhr
Tommix



Kompilierer: http://de.wikipedia.org/wiki/Compiler
Wer denkt sich denn sowas aus??
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
11.09.2007, 13:31 Uhr
~cmos
Gast


Also, ich denke im Visual Studio 2005 sollte
das for(int i = 0;...) keine Probleme sorgen.
Wie gesagt, hab mich auch gewundert...

grüße cmos
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
11.09.2007, 14:07 Uhr
Hans
Library Walker
(Operator)


Hi,

also soweit ich weis, ist die erste Variante sehr wohl C++ konform, wie auch schon geschrieben wurde. Allerdings würde ich eine Variation der zweiten vorziehen, und zwar die hier:

C++:
int i;
...
for (i=0; ...)


Dahinter steckt das Paradigma von der Strukturierten Programmierung wonach alle verwendeten Variablen erst mal im Kopf einer Funktion deklariert werden sollen; (oder müssen, je nach Compiler). Ich finde das auch übersichtlicher, - aber das ist wohl eher eine Geschmacks- oder Gewohnheitsfrage.

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ] [ 3 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: