value categories?
-
hallo,
ich habe gesehen, dass es seit c++11 durch die einführung der move-semantik nun mehr value categories als nur die klassischen lvalues und rvalues gibt. dazu habe ich diesen artikel konsultiert, jedoch hat der vielleicht mehr verwirrung ausgelöst als gelöst. dann habe ich mir noch diesen stackoverflow-thread durchgelesen, aber so wirklich klar ist es mir dennoch nicht. z.b. ist dort die rede von einer funktion mit der signaturint&& xvalue();
, aber mir ist gar nicht klar, was das überhaupt bewirkt? so etwas habe ich noch nie gesehen, geschweige denn benutzt. ferner ist dort auf SO auch oft die sprache von rückgabewerten von funktionen, aber dabei muss doch noch eine weitere unterscheidung gemacht werden, nämlich ob der typ ein fundamentaler ist oder nicht, denn afaik sind zurückgegebene fundamentals lvalues, zurückgegebene non-fundamentals hingegen rvalues (mit denen man jedoch kurioserweise non-const methoden aufrufen kann).gibt es da irgendwo eine idiotenfreundlichere erklärung?
-