Groups | Search | Server Info | Keyboard shortcuts | Login | Register
Groups > it.comp.lang.c++ > #4599
| 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 |
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 | Next — Previous in thread | Next in thread | Find similar
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