Есть класс некоторое подобие смартпоинтера, у него есть метод detachObject который возвращает указатель на объект и отсоединяет смартпоинтер от этого объекта. Простейшая реализация в 3 строчки:
Object* detachObject()
{
Object *tmpVar = m_obj;
m_obj = NULL;
return tmpVar;
}
Можно ли переписать в одну строку и без использования tmpVar ?
PS. Понятно что профита это никакого не даст (компилятор и так все проаптимизирует и tmpVar выбросит) - но есть чисто «спортивный» интерес можно ли обойтись в єтом методе без tmpVar ?