🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: de.comp.lang.c++
Article #1663

Re: Q: operatoren ueberladen -> wer loescht evtl. neue Instanzen????

#1663
From: Andreas Zierdt
Date: Fri, 16 Feb 1996 14:58
39 lines
2183 bytes
Karsten Baensch (kba@hrz.tu-chemnitz.de) wrote:

: Wenn er zusaetzlich noch einen korrekten Copykonstruktor fuer Vector<T> 
: definiert, dann funktionierts. Denn das innerhalb von 
: 'template<class T> Vector<T> Vector<T>::operator+(const Vector& v) const'
: mit Vector 'result(dim);' erzeugte automatische Objekt ist zur Zeit der
: Ausfuehrung von 'operator=()' nicht mehr am Leben! Wenn obige Aussage so
: gemeint war, dann ist sie meiner Meinung nach falsch. Korrigiert mich,
: wenn ich mich irre.
: Wenn es so waere, dann koennte 'operator+' auch eine Referenz auf 'result'
: zurueckliefern, um diese dann an 'operator=(const Vector& v)' zu
: uebergeben. Das wuerde vieles einfacher machen. Geht aber nicht.

: Erst durch 'return(result);' wird im Kontext der
: aufrufenden Funktion ein temoraeres Objekt erzeugt und mit 'result'
: initialisiert. Fuer eben diese Initialisierung braucht man den
: Copykonstruktor.

Stimmt natürlich, den Copykonstruktor habe ich unterschlagen. Das wäre
dann also noch:

template<class T> Vector<T>::Vector(const Vector& v)
{
        unsigned int    i;
        dim = v.dim;
        
        for (i=0; i<dim; i++)
            data[i] = v.data[i];
}                                             

Hielt ich für offensichtlich, war es aber nicht.  :-)

Andreas
--
Andreas Zierdt,    Institut fuer Phonetik und sprachliche Kommunikation
                   Universitaet Muenchen, Schellingstr. 3
                   80799 Muenchen, Germany

E-mail: andi@sun1.phonetik.uni-muenchen.de                   
Technical Details
Message-ID: <4g263j$8kn@sparcserver.lrz-muenchen.de>
Path: arc1-ca.pugleaf.net!linux8.phonetik.uni-muenchen.de!andi
References: <4fspll$j05@rs18.hrz.th-darmstadt.de> <4ft4ri$ne@sparcserver.lrz-muenchen.de> <4fve0v$fe8@pyrrhus-f.hrz.tu-chemnitz.de>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!linux8.phonetik.uni-muenchen.de!andi
From: andi@linux8.phonetik.uni-muenchen.de (Andreas Zierdt)
Newsgroups: de.comp.lang.c++
Subject: Re: Q: operatoren ueberladen -> wer loescht evtl. neue Instanzen????
Date: 16 Feb 1996 14:58:59 GMT
Organization: Phonetik
Distribution: world
Message-ID: <4g263j$8kn@sparcserver.lrz-muenchen.de>
References: <4fspll$j05@rs18.hrz.th-darmstadt.de> <4ft4ri$ne@sparcserver.lrz-muenchen.de> <4fve0v$fe8@pyrrhus-f.hrz.tu-chemnitz.de>
Reply-To: andi@sun1.phonetik.uni-muenchen
NNTP-Posting-Host: linux8.phonetik.uni-muenchen.de
X-Newsreader: TIN [version 1.2 PL2]