🐛 Задача на выходные: есть ли проблема с deducing this? — 20 июля 2026 г. в 10:58:00.368
🐛 Задача на выходные: есть ли проблема с deducing this? C++23 «explicit object parameter» — мощь. Решили сделать zero-overhead геттер с идеальным пробросом самого объекта. На лайвах работает, в проде иногда мусор в строке. struct Widget { std::string name; // отдаём name с тем же value-category, что и сам объект auto&& title(this auto&& self) { return std::forward<decltype(self)>(self).name; } }; const std::string& bad = Widget{"btn"}.title(); // ❓ std::println("{}", bad); Задача: объясни, какой ровно тип выводится у title() при вызове на rvalue Widget, почему bad ссылается на уничтоженный объект, и где здесь lifetime extension НЕ срабатывает (и почему именно для deducing-this это особенно коварно). Как спроектировать API, чтобы компилятор ловил это?

