Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   C++ = C++ ? (https://www.delphipraxis.net/90097-c-%3D-c.html)

mkinzler 12. Apr 2007 07:51

Re: C++ = C++ ?
 
Andererseits endet der Scope der Variablen i eigentlich am Ende der Schleife

hsg 12. Apr 2007 10:06

Re: C++ = C++ ?
 
Zitat:

Zitat von SirThornberry
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.

wieso entbehrt das jeder Logik?
Ich persönlich finde das eigentlich sogar gut: dadurch das der Typ der Variablen in dem Block steht, ist sofort erkennbar was da passieren soll.

Und wie mkinzler schon gesagt hat: normalerweise ist der Geltungsbereich der Variablen nach der Schleife zu Ende.
Nur dass, da Microsoft mal wieder andere Vorstellung hat.

DMW 16. Apr 2007 22:42

Re: C++ = C++ ?
 
Zitat:

Zitat von hsg
Und wie mkinzler schon gesagt hat: normalerweise ist der Geltungsbereich der Variablen nach der Schleife zu Ende.

So sagt der Standard. Und auf den kommt es an.
Ebendieser ist übrigens auch daran schuld, daß z.B. #include <iostream.h> nicht mehr funktioniert. Es heißt <iostream> !


Zitat:

Zitat von hsg
Nur dass, da Microsoft mal wieder andere Vorstellung hat.

IIRC war das beim MSVC 6.0 (1998!) so. Die aktuellen Microsoft-Compiler erfüllen den C++-Standard ziemlich gut.

@Muetze1: Sogar Kernighan und Ritchie benutzen printf() und nicht puts() für ihr Hello World. Vermutlich zugunsten der Konsistenz ;)


Zitat:

Zitat von SirThornberry
sowas macht man ja auch nicht (eine Variable 2 mal declarieren).

Genau. Und Variablen definiert man am Anfang des Blockes ;)
Das ist C++, nicht Delphi oder C. In C++ findet, da u.a. im Gegensatz zu den anderen gängigen objektorientierten Sprachen wie Delphi Stackobjekte eine große Rolle spielen, zumeist RAII (Resource Acquisition Is Initialisation) Anwendung.

hsg 17. Apr 2007 08:32

Re: C++ = C++ ?
 
Zitat:

Zitat von DMW
Zitat:

Zitat von hsg
Nur dass, da Microsoft mal wieder andere Vorstellung hat.

IIRC war das beim MSVC 6.0 (1998!) so. Die aktuellen Microsoft-Compiler erfüllen den C++-Standard ziemlich gut.

Dazu kann ich nichts weiter sagen, ich habe die aktuellen MSVC-Compiler nicht getestet. Wenn man einen Kollegen ärgern wollte, hat man im Projekt beim Cbuilder 6 die MS-Kompatibilität eingeschaltet und der Kollege wurde auf einmal von tausenden Fehlern überhäuft :-D

delphilover 19. Apr 2007 15:49

Re: C++ = C++ ?
 
häääääääääääääääääääääääääääääääääääääää

:shock:
:kotz:

angos 19. Apr 2007 16:01

Re: C++ = C++ ?
 
Hallo delphilover,

bitte stelle doch konkrete Fragen, was du an den Posts über dir nicht verstehst. Ein solches gespamme wird in Foren allgemein nicht gern gesehen.

ebber 20. Apr 2007 13:55

Re: C++ = C++ ?
 
Falls ich noch ne kurze Frage stellen darf:

Wenn ich jetzt ein neues win32 Project mache erstellt es ja automatisch eine Form die aber irgendwie nicht richtig da ist ?
Ich kann dann noch eine Neue hinzufügen und mit der geht alles wunderbar wie in Delphi. Mache ich was falsch? oder wo kann ich umstellen welches die Form ist die beim Programmstart angezeigt wird.

MfG

WS1976 20. Feb 2008 06:54

Re: C++ = C++ ?
 
Hallo,

unter Visual C++ 2005 gibt's keine Headerdatei iostream.h mehr!
Wie man alternativ cout oder cin nutzt weiss ich auch nicht.

Grüsse
Rainer

Matze 20. Feb 2008 07:34

Re: C++ = C++ ?
 
Zitat:

Zitat von hsg
Zitat:

Zitat von DMW
Zitat:

Zitat von hsg
Nur dass, da Microsoft mal wieder andere Vorstellung hat.

IIRC war das beim MSVC 6.0 (1998!) so. Die aktuellen Microsoft-Compiler erfüllen den C++-Standard ziemlich gut.

Dazu kann ich nichts weiter sagen, ich habe die aktuellen MSVC-Compiler nicht getestet.

Nur kurz dazu: Im VS 2005 geht das glücklicherweise problemlos, im Schleifenkopf die gleichen Variablen zu deklarieren/definieren.
Ich mache das immer so.

Xong 20. Feb 2008 08:38

Re: C++ = C++ ?
 
Zitat:

Zitat von SirThornberry
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.

Du bist das aus Delphi nur nicht gewöhnt. Ich vermisse es schmerzlich.

Code:
for(int i = 0; i < 10; i++);
Dieser Code bewirkt, dass ein 4 Byte großer Speicherplatz reserviert und mit 0 initialisiert wird. Dann wird i schrittweise bis auf 10 erhöht. Schließlich wird der Speicherplatz wieder freigegeben.

In C++ ist sogar folgendes möglich:
Code:
for(int i = 0; i < 10; i++) {
  for(int i = 0; i < 10; i++) {
    // Mach was!
  }
}


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:02 Uhr.
Seite 2 von 3     12 3      

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