C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Re: long long

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (German)
View previous topic :: View next topic  
Author Message
Heinz Saathoff
Guest





PostPosted: Thu Apr 01, 2004 7:09 am    Post subject: Re: long long Reply with quote



Moin,

Michael Walter schrieb...
Quote:
Wenn ich mich recht erinnere, ist aber

Typ x();

nicht ok, da das vom Compiler als Funktionsdeklaration (x ist
parameterlose Funktion, die Typ liefert) interpretiert.
Ja. Dein "aber" erscheint unpassend.

Ich hab mir beim 'aber' nur gedacht, daß man ja auf die Idee kommen
könnte, statt
Typ x = Typ();
lieber
Typ x(); //geht nicht
zu schreiben, was in diesem Fall nicht geht, während es sonst bei
mindestens einem Parameter die kürzere Schreibweise wäre.

- Heinz

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de

Back to top
Andreas Huennebeck
Guest





PostPosted: Thu Apr 01, 2004 7:33 am    Post subject: Re: long long Reply with quote



Heinz Saathoff wrote:

Quote:
Ich hab mir beim 'aber' nur gedacht, daß man ja auf die Idee kommen
könnte, statt
Typ x = Typ();
lieber
Typ x(); //geht nicht
zu schreiben, was in diesem Fall nicht geht, während es sonst bei
mindestens einem Parameter die kürzere Schreibweise wäre.

Bedeutet

Typ x = Typ();

garantiert immer, dass nur ein einziges Mal der Defaultkonstruktor
von Typ gerufen wird? Ich koennte mir auch vorstellen, dass erst der
Defaultkonstruktor und dann der Zuweisungsoperator gerufen werden.
Bei

Typ x;

ist ersteres garantiert.

Tschau
Andreas
--
Andreas Hünnebeck | email: [email]ah (AT) despammed (DOT) com[/email]
----- privat ---- | www : http://www.huennebeck-online.de
Fax/Anrufbeantworter: 0721/151-284301 o. 0180/50525-5232659 (24 Pfg/Min)
SMS: D1=72617 D2=0172/7366-042 E-Plus=0177/7934-396 Viag=0179/2029-894
GPG-Key: http://www.huennebeck-online.de/public_keys/andreas.asc

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de

Back to top
Markus Schaaf
Guest





PostPosted: Thu Apr 01, 2004 1:47 pm    Post subject: Re: long long Reply with quote



"Andreas Huennebeck" <ah (AT) despammed (DOT) com> schrieb:

Quote:
Typ x = Typ();

garantiert immer, dass nur ein einziges Mal der Defaultkonstruktor
von Typ gerufen wird? Ich koennte mir auch vorstellen, dass erst der
Defaultkonstruktor und dann der Zuweisungsoperator gerufen werden.

"Zuweisungsoperator" ist hier überhaupt nicht im Spiel. Höchstens
die Kopier-Erzeugerfunktion (aka Copy-C'tor).

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de

Back to top
Rolf Magnus
Guest





PostPosted: Thu Apr 01, 2004 2:58 pm    Post subject: Re: long long Reply with quote

Andreas Huennebeck wrote:

Quote:
Heinz Saathoff wrote:

Ich hab mir beim 'aber' nur gedacht, daß man ja auf die Idee kommen
könnte, statt
Typ x = Typ();
lieber
Typ x(); //geht nicht
zu schreiben, was in diesem Fall nicht geht, während es sonst bei
mindestens einem Parameter die kürzere Schreibweise wäre.

Bedeutet

Typ x = Typ();

garantiert immer, dass nur ein einziges Mal der Defaultkonstruktor
von Typ gerufen wird?

Ja.

Quote:
Ich koennte mir auch vorstellen, dass erst der Defaultkonstruktor und
dann der Zuweisungsoperator gerufen werden.

Es wird per Defaultkonstruktor ein temporäres Objekt erzeugt, dann wird
per Kopierkonstruktor x daraus erzeugt. Allerdings kann (und darf) die
Kopie wegoptimiert werden, so daß x im Prinzip direkt per
Defaultkonstruktor erzeugt wird.

Quote:
Bei

Typ x;

ist ersteres garantiert.

Dafür werden eingebaute Typen (außer bei globalen Variablen) nicht
initialisiert.

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de

Back to top
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.