dimka76 54 15 июля Опубликовано 15 июля · Жалоба On 7/15/2024 at 11:35 AM, EdgeAligned said: Да, это такой упоротый синтаксис, называется Обфускация Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrYuran 21 15 июля Опубликовано 15 июля · Жалоба В 15.07.2024 в 12:04, dimka76 сказал: Обфускация Вот вам смешно, а у меня весь проект в таком стиле написан. Который нужно быстро подхватить и дописать свою часть. Я уже молчу, что пол-проекта автогенерится на ямлах.. Ну и естественно, молодые гении влепили 20 стандарт в полный рост. На меньшее они не согласны. Иначе как умище-то показать. В 15.07.2024 в 11:35, EdgeAligned сказал: вон те скобочки [](){} означают запись лямбда-функции. Спасибо за наводку. Примерно так и думал. Но в физику процесса надо ещё погрузиться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 15 15 июля Опубликовано 15 июля · Жалоба 2 часа назад, MrYuran сказал: Вот вам смешно, а у меня весь проект в таком стиле написан. Который нужно быстро подхватить и дописать свою часть. Это ещё ничего. Хуже, когда подхватываемый проект написан в виде классической си-лапши с тоннами копипасты и глобальных переменных. Вот это да, вот это смешно:) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrYuran 21 15 июля Опубликовано 15 июля · Жалоба В 15.07.2024 в 15:36, AHTOXA сказал: Это ещё ничего. Хуже, когда подхватываемый проект написан в виде классической си-лапши с тоннами копипасты и глобальных переменных. Вот это да, вот это смешно:) Плавали в таком, знаем ) На прошлой работе досталась в наследство линейка приборов, разработанная за 20 лет тремя поколениями разработчиков. Я, как последний оставшийся супер-стар, выдвинул предложения по комплексному рефакторингу, подкрепленные расчетом трудоемкости и описанием ближних и дальних выгод. По результатам полного игнора со стороны руководства написал заявление в день рождения начальника ) (случайно совпало) Прошу прощения за злостный оффтоп, больше не буду. 1 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrYuran 21 10 часов назад Опубликовано 10 часов назад · Жалоба Началось в колхозе утро.. undefined reference to `vtable for SomeClassName В прошлый раз помогло virtual ~SomeClassName() = default; Сейчас что-то другое. Были подозрения, что .cpp не собирается, но нет, объектник лежит на месте. С какого конца можно это расколупать? # что характерно, в .map есть vtable для базового абстрактного класса с адресом и упоминание для нужного производного класса, но уже без адреса. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 54 9 часов назад Опубликовано 9 часов назад · Жалоба On 7/29/2024 at 1:13 PM, MrYuran said: Началось в колхозе утро.. https://stackoverflow.com/questions/3065154/undefined-reference-to-vtable Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
firstvald 23 8 часов назад Опубликовано 8 часов назад · Жалоба On 7/15/2024 at 1:06 PM, MrYuran said: Вот вам смешно, а у меня весь проект в таком стиле написан. Который нужно быстро подхватить и дописать свою часть. Я уже молчу, что пол-проекта автогенерится на ямлах.. Ну и естественно, молодые гении влепили 20 стандарт в полный рост. На меньшее они не согласны. Иначе как умище-то показать. Спасибо за наводку. Примерно так и думал. Но в физику процесса надо ещё погрузиться. это их учат профессора, которые, в лучшем случае, один термометр осилили и до пенсии будут вспоминать, как было жарко. при этом про формы канделябров под потолком рассказывать будут долго и упорно. но при слове "прерывание" и "регистр" кричат нет нет только не это! (рассказ основан на реальных событиях, вуз, увы, реальный и очень известный) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 76 8 часов назад Опубликовано 8 часов назад · Жалоба 1 час назад, MrYuran сказал: virtual ~SomeClassName() Когда виртуальный деструктор есть, но не реализован, такая проблема и будет появляться. То есть, виртуальный деструктор должен быть либо реализован здесь, либо переопределен в классе-наследнике. Если класса-наследника нет, то компилятор ищет реализацию деструктора в этом классе, но он - не реализован, только объявлен. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 76 7 часов назад Опубликовано 7 часов назад · Жалоба Когда в виртуальном деструкторе (или вообще, виртуальном методе) пишите = default, это означает, что этот деструктор будет сгенерирован автоматически. То есть, равносильно тому, что если бы воообще его не писали. Если деструктор или конструктор не написать в классе явно, то сгенерируется конструктор (деструктор) по-умолчанию. Этот default как раз и дает принудительно такую команду. Виртуальный деструктор следует применять при наследовании классов, в которых производились операции с динамическим выделением памяти, дабы правильно освободить эту память. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrYuran 21 6 часов назад Опубликовано 6 часов назад · Жалоба Здесь все объекты - статические во флеш-памяти, то есть деструктор не имеет физического смысла. Тем не менее, убрал virtual, и одной ошибкой стало меньше. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 76 2 часа назад Опубликовано 2 часа назад · Жалоба В этом случае деструктор вообще как бы и не нужен. Деструктор даже в создаваемых объектах не всегда нужен, а только если в объекте выделялась дин.память или использовались какие-либо ресурсы, требующие освобождения или правильного порядка завершения работы с ними. Деструктор вызывается автоматически, когда созданный объект выходит за пределы видимости. Равносильно поведению локальных переменных в функции. Если в классе деструктор не реализован, будет вызван деструктор по умолчанию. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться