D>Кто-нибудь может объяснить, почему будет такой вывод в консоль?
"Нравятся" мне такие задачи! Видимо автор ожидает, что ответ будет: "программа напечатает 0 и 32, потому, что это смещения функций объекта типа C". Такой ответ является ошибкой. Фактически даже нет гарантий, что размера массива data хватит, чтобы сохранить sizeof(ptr) байтов, не говоря уж о том, чтобы достоверно сказать, что будет выведено в консоль. Например здесь я наблюдаю вывод 140698833649664 and 32, если запускать с vc++ компилятором.
AS>Кто-нибудь вообще может объяснить почему такой код вообще приходит в голову кому-то писать?
так вопрос как обычно не в коде
а в умении понимать что там происходит
вот если чел не знает что такое лямбды
то даже не сможет сообразить что это и как
так что вопрос даже не в том что он там выведет
даже если виртуальные функции наворотить
Здравствуйте, reversecode, Вы писали:
R>так вопрос как обычно не в коде R>а в умении понимать что там происходит R>вот если чел не знает что такое лямбды R>то даже не сможет сообразить что это и как R>так что вопрос даже не в том что он там выведет R>даже если виртуальные функции наворотить
Говнокод там происходит, самый типичный.
И это ничем не прикрыть.
В любом рабочем проекте эта хрень автоматом будет удаляться любым специалистом.
И не в лямбдах тут дело — они простые как палка, примеров на понимание можно сотнями генерить в реалтайме.