Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.iso-c++ > #1993

Re: Move semantics und operator overloading

From ram@zedat.fu-berlin.de (Stefan Ram)
Newsgroups de.comp.lang.iso-c++
Subject Re: Move semantics und operator overloading
Date 2017-01-08 14:00 +0000
Organization Stefan Ram
Message-ID <RVO-20170108145851@ram.dialup.fu-berlin.de> (permalink)
References <0b8ad143-ccf2-4867-a02b-ed795dfb392c@googlegroups.com> <move-20170107173529@ram.dialup.fu-berlin.de> <99988bba-1453-4e4a-bf29-a11886a5851e@googlegroups.com>

Show all headers | View raw


Helmut Zeisel <helmut.zeisel@gmail.com> writes:
>Ja. Andersrum gefragt: Wieso wird im zweiten Fall (Four) die
>Return Value Optimization angewendet, im ersten Fall (Two)
>aber nicht?

  Im Fall

A<Two> operator+(A<Two> a, const A<Two>& a2)

  ist »a« ein Kopierparameter, deswegen kann er am Ende der
  Funktion entleert werden. Er wird unmittelbar danach ohnehin
  zerstört werden.

  Im Fall

A<Four> operator+(const A<Four>& a1, const A<Four>& a2)

  ist »a« ein Referenzparameter. Er referenziert ein Objekt
  des Aufrufers. Wir wissen nicht, ob der Aufrufer damit
  einverstanden wäre, wenn wir sein Objekt entleeren würden.
  Deswegen ist es besser, wenn es bei der Rückgabe kopiert wird.

Back to de.comp.lang.iso-c++ | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Move semantics und operator overloading Helmut Zeisel <zei2011@liwest.at> - 2017-01-06 23:53 -0800
  Re: Move semantics und operator overloading ram@zedat.fu-berlin.de (Stefan Ram) - 2017-01-07 15:38 +0000
  Re: Move semantics und operator overloading ram@zedat.fu-berlin.de (Stefan Ram) - 2017-01-07 16:36 +0000
    Re: Move semantics und operator overloading Helmut Zeisel <helmut.zeisel@gmail.com> - 2017-01-07 12:10 -0800
      Re: Move semantics und operator overloading ram@zedat.fu-berlin.de (Stefan Ram) - 2017-01-08 14:00 +0000
        Re: Move semantics und operator overloading Helmut Zeisel <zei2011@liwest.at> - 2017-01-08 07:27 -0800
          Re: Move semantics und operator overloading ram@zedat.fu-berlin.de (Stefan Ram) - 2017-01-08 22:26 +0000
            Re: Move semantics und operator overloading Helmut Zeisel <zei2011@liwest.at> - 2017-01-09 00:50 -0800
              Re: Move semantics und operator overloading ram@zedat.fu-berlin.de (Stefan Ram) - 2017-01-09 20:26 +0000
                Re: Move semantics und operator overloading Helmut Zeisel <zei2011@liwest.at> - 2017-01-09 22:59 -0800
                Re: Move semantics und operator overloading ram@zedat.fu-berlin.de (Stefan Ram) - 2017-01-10 17:32 +0000
                Re: Move semantics und operator overloading Helmut Zeisel <zei2011@liwest.at> - 2017-01-10 09:56 -0800
                Re: Move semantics und operator overloading ram@zedat.fu-berlin.de (Stefan Ram) - 2017-01-11 00:21 +0000
                Re: Move semantics und operator overloading Helmut Zeisel <zei2011@liwest.at> - 2017-01-10 23:41 -0800
                Re: Move semantics und operator overloading ram@zedat.fu-berlin.de (Stefan Ram) - 2017-01-11 10:04 +0000
                Re: Move semantics und operator overloading Helmut Zeisel <zei2011@liwest.at> - 2017-01-11 02:33 -0800
                Re: Move semantics und operator overloading Bonita Montero <Bonita.Montero@gmail.com> - 2017-01-11 15:43 +0100
                Re: Move semantics und operator overloading ram@zedat.fu-berlin.de (Stefan Ram) - 2017-01-11 22:27 +0000
                Re: Move semantics und operator overloading Helmut Zeisel <zei2011@liwest.at> - 2017-01-11 22:22 -0800
                Re: Move semantics und operator overloading ram@zedat.fu-berlin.de (Stefan Ram) - 2017-01-12 18:15 +0000
                Re: Move semantics und operator overloading Helmut Zeisel <zei2011@liwest.at> - 2017-01-12 12:34 -0800
                Re: Move semantics und operator overloading Helmut Zeisel <zei2011@liwest.at> - 2017-01-13 03:30 -0800
                Re: Move semantics und operator overloading Helmut Zeisel <zei2011@liwest.at> - 2017-01-11 23:53 -0800
                Re: Move semantics und operator overloading ram@zedat.fu-berlin.de (Stefan Ram) - 2017-01-12 20:23 +0000
                Re: Move semantics und operator overloading Helmut Zeisel <zei2011@liwest.at> - 2017-01-13 00:47 -0800
                Re: Move semantics und operator overloading Helmut Zeisel <zei2011@liwest.at> - 2017-01-11 00:15 -0800

csiph-web