В C++11 выражение может быть:
- rvalue
- lvalue
- xvalue
- glvalue
- prvalue
- Что это за новые категории выражений?
- Как эти новые категории относятся к существующим категориям rvalue и lvalue?
- Являются ли категории rvalue и lvalue в C++0x такие же, как в C++03?
- Зачем нужны эти новые категории? Боги WG21 просто пытаются запутать нас, простых смертных?
Подробнее здесь: https://stackoverflow.com/questions/360 ... d-prvalues