Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Variablendefinition in 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 <
000
15.12.2006, 12:23 Uhr
derphilipder



Macht es eigentlich einen Unterschied, ob ich das:


C++:
for(int i=0; i<1000; i++)
{
   double d = ...
   ...
}


oder das

C++:
double d;
for(int i=0; i<1000; i++)
{
   d = ...
   ...
}
mache?
--
Konfuzius says: "A man who goes to bed with an itchy asshole is a man who wakes up with stinky finger!"
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
15.12.2006, 12:35 Uhr
Bruder Leif
dances with systems
(Operator)


jepp. Im ersten Fall ist d nur innerhalb der Schleife definiert, im zweiten Fall auch außerhalb.
--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
15.12.2006, 12:38 Uhr
ao

(Operator)


Beim ersten Code ist das d nur innerhalb der Schleife sichtbar, beim zweiten auch unterhalb.

Für die Performance dürfte es egal sein, denn spätestens wenn du Optimierungen einschaltest, macht der Compiler mit dem Stack, was er will.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
15.12.2006, 12:43 Uhr
derphilipder



Genau, um die Performance drehte sich meine Frage...Thx!
--
Konfuzius says: "A man who goes to bed with an itchy asshole is a man who wakes up with stinky finger!"
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
15.12.2006, 13:18 Uhr
Tommix



Hallo,
bei einem "richtigen" Objekt kann das aber auch anders aussehen:

C++:
#include <iostream>

class foo
{
public:
    foo() {std::cout << "he ";}
    ~foo() {std::cout << "ho ";}
};

int main(void)
{
    // foo bar;

    for (int i = 0; i < 3; ++i)
    {
        foo bar;
    }

    return 0;
}



Gruß, Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ 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: