Здравствуйте, Кодт, Вы писали:
К>Здравствуйте, Dair, Вы писали:
D>>Или это яркий пример так называемого говнокода, как мне и показалось с первого взгляда?
К>Без контекста непонятно, до какой степени это говнокод.
К>Но говнокод в любом случае, т.к. это эксплуатация неопределённого поведения.
А есть ли здесь UB? Т.к. просто применение оператора * к нулевому указателю UB не является (несмотря на широко распространённое поверие, что является). Т.е.
*(SomeClass*)nullptr;
это ещё не UB само по себе.
UB является инициализация ссылок с помощью нулевой ссылки, вроде
const SomeClass& ref = *(SomeClass*)nullptr;
А вот является ли UB просто возврат нулевой ссылки из функции?
UPD: нашёл сам: return является инициализацией. Значит UB.