Здравствуйте, Erop, Вы писали:
E>Здравствуйте, _NN_, Вы писали:
_NN>>Как называется тип, который не перемещаем и не копируем, но к нему возможно применить RVO ?
E>Разве такой тип можно вернуть из функции?
Начиная с C++17 можно.
Тип не материализуется до последнего момента.
Поэтому можно писать:
#include <iostream>
using namespace std;
struct a {
a(a const&)=delete;
a& operator=(a const&)=delete;
a(a&&)=delete;
a&& operator=(a&&)=delete;
};
a f() { return a{}; }
a g() { return f(); }
a h() { return g(); }
int main() {
auto x = h();
return 0;
}