Groups | Search | Server Info | Keyboard shortcuts | Login | Register


Groups > it.comp.lang.c++ > #4599

Re: Move

Newsgroups it.comp.lang.c++
Date 2017-11-30 07:39 -0800
References (1 earlier) <ovlbo9$9ps$1@virtdiesel.mng.cu.mi.it> <ovlue2$vjt$1@dont-email.me> <d4520887-d09e-49d6-aca8-bf1f2fd0fccf@googlegroups.com> <c3cf25f3-d9ca-4773-9d32-b60a8deda622@googlegroups.com> <ovmud5$97o$1@dont-email.me>
Message-ID <b245c262-93cf-4d5b-9a23-81d2f1891ca7@googlegroups.com> (permalink)
Subject Re: Move
From fmassei@gmail.com

Show all headers | View raw


On Wednesday, November 29, 2017 at 1:31:02 PM UTC-5, Enrico Maria Giordano wrote:
> Il 29/11/2017 19:20, fmassei@gmail.com ha scritto:
> 
> >> "Ogni espressione C++ è un lvalue o un rvalue. [...]
> > 
> > No, non è così da un po'.
> > Da C++11 ci sono rvalues, lvalues, xvalues, glvalues, e prvalues. E tutto
> > per stare dietro a questa roba del move.
> > Uno dei tanti riferimenti:
> > http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3055.pdf
> 
> Azz!... :-(
> 

:) Non ti preoccupare, tutte queste definizioni sono utili solo per chi
scrive le specifiche e agli implementers. Al programmatore normale non
importa molto come si chiami questo o quello, o cosa debba fare il
compilatore in casi borderline.

Anche fosse, il concetto non è difficile: invece di dividere le espressioni
in sinistra e destra, le dividi secondo due proprietà: identificabile
(e.g. variabili, puntatori, ma non roba temporanea) e spostabile.
Hai roba identificabile e spostabile, roba identificabile e non spostabile,
roba non identificabile e basta, etc.
La "genialata" è stata che invece di usare nomi decenti per la nuova
categorizzazione delle espressioni hanno riusato i vecchi lvalue/rvalue
con significati nuovi :(

Comunque, tutta la roba spostabile è rvalue (se è "pura", cioè temporanea
o non identificabile, in altra parole come ce l'abbiamo sempre avuta in mente,
prvalue).
Lvalue sono le cose identificabili e non spostabili.
Le robe identificabili e spostabili son queste nuove strane che vengono
fuori con riferimenti modificabili, e l'hanno chiamate xvalue.
L'ultima categoria, glvalue, è solo il "genitore" di lvalue e xvalue, e sta
lì solo per completare lo schemino.

Spero sia un po' più chiaro :)

Ciao!

Back to it.comp.lang.c++ | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Move Emanuele Merlo <emanuele.merlo@gmail.com> - 2017-11-28 02:25 -0800
  Re: Move Emanuele Merlo <emanuele.merlo@gmail.com> - 2017-11-28 02:26 -0800
  Re: Move fmassei@gmail.com - 2017-11-28 07:33 -0800
    Re: Move Enrico Maria Giordano <e.m.giordano@emagsoftware.it> - 2017-11-28 16:44 +0100
      Re: Move fmassei@gmail.com - 2017-11-28 08:06 -0800
        Re: Move Emanuele Merlo <emanuele.merlo@gmail.com> - 2017-11-28 08:17 -0800
          Re: Move fmassei@gmail.com - 2017-11-28 08:25 -0800
        Re: Move Enrico Maria Giordano <e.m.giordano@emagsoftware.it> - 2017-11-28 18:41 +0100
          Re: Move fmassei@gmail.com - 2017-11-28 10:00 -0800
            Re: Move Enrico Maria Giordano <e.m.giordano@emagsoftware.it> - 2017-11-28 19:21 +0100
              Re: Move Emanuele Merlo <emanuele.merlo@gmail.com> - 2017-11-29 01:12 -0800
                Re: Move enoquick <enoquick@gmail.com> - 2017-11-30 21:13 -0600
  Re: Move enoquick <enoquick@gmail.com> - 2017-11-28 22:06 -0600
    Re: Move Enrico Maria Giordano <e.m.giordano@emagsoftware.it> - 2017-11-29 10:25 +0100
      Re: Move Emanuele Merlo <emanuele.merlo@gmail.com> - 2017-11-29 02:07 -0800
        Re: Move Enrico Maria Giordano <e.m.giordano@emagsoftware.it> - 2017-11-29 11:24 +0100
          Re: Move Emanuele Merlo <emanuele.merlo@gmail.com> - 2017-11-29 07:28 -0800
            Re: Move Enrico Maria Giordano <e.m.giordano@emagsoftware.it> - 2017-11-29 16:37 +0100
        Re: Move fmassei@gmail.com - 2017-11-29 10:20 -0800
          Re: Move Enrico Maria Giordano <e.m.giordano@emagsoftware.it> - 2017-11-29 19:31 +0100
            Re: Move fmassei@gmail.com - 2017-11-30 07:39 -0800
              Re: Move Enrico Maria Giordano <e.m.giordano@emagsoftware.it> - 2017-11-30 16:48 +0100
          Re: Move Emanuele Merlo <emanuele.merlo@gmail.com> - 2017-11-30 01:09 -0800
          Re: Move enoquick <enoquick@gmail.com> - 2017-11-30 21:22 -0600
            Re: Move fmassei@gmail.com - 2017-12-01 14:50 -0800
              Re: Move enoquick <enoquick@gmail.com> - 2017-12-01 22:11 -0600
                Re: Move fmassei@gmail.com - 2017-12-02 13:33 -0800
                Re: Move Enrico Maria Giordano <e.m.giordano@emagsoftware.it> - 2017-12-02 22:48 +0100
                Re: Move Enrico Maria Giordano <e.m.giordano@emagsoftware.it> - 2017-12-03 11:56 +0100
                Re: Move fmassei@gmail.com - 2017-12-04 02:32 -0800
                Re: Move Enrico Maria Giordano <e.m.giordano@emagsoftware.it> - 2017-12-04 12:05 +0100
      Re: Move enoquick <enoquick@gmail.com> - 2017-11-29 11:47 -0600
        Re: Move Enrico Maria Giordano <e.m.giordano@emagsoftware.it> - 2017-11-29 19:08 +0100
          Re: Move enoquick <enoquick@gmail.com> - 2017-11-30 20:58 -0600
            Re: Move Enrico Maria Giordano <e.m.giordano@emagsoftware.it> - 2017-12-01 10:08 +0100

csiph-web