У меня есть программа на С++. Эта программа делает что-то вроде этого:
struct MyT {void memfunc(std::unique_ptr<MyT> arg);};
std::unique_ptr<MyT> obj = /* some init */;
obj->memfunc(std::move(obj));
Гарантировано ли это, что я могу закончить вызов функции-члена на nullptr
?
Стандартные кавычки применимы.
Я знаю, что порядок оценки аргументов не имеет никакого значения, но я не помню, что последовательность является w.r.t. вызываемый объект функции.