Stanislav
А в чём проблема? Не руками же new/delete вызывать
про qt object model читал? у qt object может быть родитель, если родитель указан, то родитель при удалении всех чилдренов дропает
Egor
Он и при удалении сырого поинтера удалится, при чем тут смарт поинтеры?
Думаю, тут речь про то, что нехорошо удалять объект дважды — один раз от родителя, а один раз от smart pointer.
Aidar
а код удаления кто генерит?
Aidar
моск?
Aidar
а там регистр детей?
Aidar
а там регистр детей?
а как передавать владение?
Stanislav
ну вот я бы избегал использования стандартных умных указателей для классов наследованных от QObject, в кутях пачка своих указателей есть
Anatoly
сорри, не читал
Anatoly
Думаю, тут речь про то, что нехорошо удалять объект дважды — один раз от родителя, а один раз от smart pointer.
в Qt, тем не менее, удаление объекта раньше его родителя не грозит никакими последствиями - родитель получит оповещение о том что он умирает и родитель выпишет его из "квартиры"
Anatoly
а наборот будет кирдых для смарта
Anatoly
хотя, может он тоже подписывается, не проверял, тот который кютешный
Berkus
родитель обычные пойнтеры вроде держит, просто на сигнал подписывается
Berkus
хотя моя информация устарела со времен ранних Qt4
Berkus
сначала родитель удалит ребенка, а потом и смарт пойнтер ресетнется и что? правильно, тоже удалит.
Berkus
я про этот случай говорил
Berkus
про что и был изначальный разговор емнип
Berkus
давай вернемся немного назад
Berkus
ну вот я бы избегал использования стандартных умных указателей для классов наследованных от QObject, в кутях пачка своих указателей есть
Max
а qt смарт поинтеры от этого защищают??
Berkus
а qt смарт поинтеры от этого защищают??
они знают про сигнал destroyed() как минимум
Berkus
> Use QPointers like normal pointers and you will not need to read this class documentation. кек
Berkus
но они сильно специфичны для кутешной модели памяти: Note that class T must inherit QObject, or a compilation or link error will result.
Max
они знают про сигнал destroyed() как минимум
Насколько я знаю, QSharedPointer этого не дает. Для этого есть QPointer, но QPointer не есть умный указатель. То есть если нужен умный указатель, то без разницы, std::shared_ptr или QSharedPointer. Здесь как раз std имеет преимущества в виде std::make_shared и pointer_castов на любой вкус.
Berkus
да, наверное как-то так
Igor
симейк как-то можно настроить так, чтобы он всегда юзал определенный набор дефайнов при генерации? помимо alias cb=cmake -D...
Igor
это per-project, а глобально? конкретно интересует -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
Igor
пичальк, ну да ладно, пока обойдусь алиасами
Berkus
вообще плохая идея, параметры конфигурации - локальная штука для системы
Stanislav
https://blogs.msdn.microsoft.com/vcblog/2017/11/15/msvc-conformance-improvements-in-visual-studio-2017-version-15-5/
Stanislav
Berkus
если для понимания версии компилятора можно обойтись без таблички - это плохой компилятор, это тебе любой эпол или майкрософт скажет
Stanislav
если для понимания версии компилятора можно обойтись без таблички - это плохой компилятор, это тебе любой эпол или майкрософт скажет
ага, еще раз про эппл скажи где не понятно какой версии их компилер соответствует версии ллвм и шланга
Stanislav
ну так ТАБЛИЧКА! https://gist.github.com/yamaya/2924292
я ее видел, и где там написано какая версия шланга там? ну хотя бы 3.6-коммит и прочее
Berkus
да хуюшки, там своих эплопатчей еще навалено
Stanislav
> если для понимания версии компилятора можно обойтись без таблички - это плохой компилятор, это тебе любой эпол или майкрософт скажет
Berkus
ну, значит хороший компилятор
Berkus
без таблички обойтись нельзя
Berkus
или к чему у тебя там претензия-то?
Vyacheslav
https://stackoverflow.com/questions/1642028/what-is-the-operator-in-c?rq=1
Vyacheslav
))
Ryner Reinhardt
Эээ
Ryner Reinhardt
Сложновато спросить не говно ли мой код без возможности его нормально скинуть
🦥Alex Fails
@supapro есть для этого
Ryner Reinhardt
Понятно
Aidar
как запустить gprof когда он сломан изза pie?
Aidar
да не gprof сломан
Aidar
ну смыысле он тоже
Aidar
Aidar Fattakhov, [16.11.17 19:42] https://sourceware.org/bugzilla/show_bug.cgi?id=21189
Aidar
я короче про это
🦥Alex Fails
27 ноября, в 18:30 в Москве, в офисе Яндекса (адрес: ул. Льва Толстого, д.16, четвёртый подъезд, конференц-зал «Мулен Руж») пройдет очередная встреча российской группы по стандартизации языка программирования C++. В программе ожидается краткий рассказ руководителя группы Александра Фокина о прошедшей встрече Комитета по стандартизации C++ в Альбукерке (США) и о том, что нового произошло на этой встрече. После его доклада из Сиэтла с нами свяжется председатель комитета Герб Саттер (автор книг "Решение сложных задач на C++", "Новые сложные задачи на C++" и др.), который расскажет о собственном новом предложении к стандарту и ответит на все вопросы участников встречи. В конце мероприятия можно будет поделиться своими идеями, касающимися языка, и расспросить Александра Фокина и Антона Полухина о рабочей группе. Количество мест ограничено, поэтому нужно заранее зарегистрироваться тут: https://events.yandex.ru/events/cpp-party/27-nov-2017/ – и получить приглашение. #stdcpp #isocpp #cppparty #yandex #moscow #cpp #meetup #cpp2a
Evgenii
или старый гцц, или нопай
🦥Alex Fails
Наши чаты: @supapro – чат для начинающих и тех, кто хочет изучить язык; @fludpac – флуд сюда; @pro_net – чатик по .NET; @proasm – чат по языку ассемблера и реверсу; @prolua – чатик по Lua; @prographon – opengl/opencl/vulkan/etc; @proalgorithms – обсуждение алгоритмов; @pro_osdev – разработка OS; @pro_latex – все о TeX и LaTeX; @pro_windows – новый чат по ОС Windows; @vimers – чат про Vim; @pro_sublime – чат про Sublime; Специальная флудилка для обсуждения вакансий с дополнительными материалами для трудоустройства: https://t.me/joinchat/BYlFbEPe5gMPVQm3OwKjaA Предложка новостей в канал @ProCxxNews: https://t.me/joinchat/BYlFbAzhJ48-sOXJoTzRMA Чат о программинге в целом: https://t.me/joinchat/AkxcTEMQENX1pfPjR0UhPA Чат о математике: https://t.me/joinchat/AAAAAD_875HMqziocKWd3Q Чат радиолюбителей: https://t.me/joinchat/AAAAAEIQxdjS8GRo_TWh1g Общие программерские вопросы можно тут: https://t.me/joinchat/AkxcTEMQENX1pfPjR0UhPA Чатик о BSD: https://t.me/joinchat/AAAAAEJ1txaz1pDhcmKZ4w Чатик об Android: https://t.me/joinchat/AAAAAEKIFKnmRT9cMebb9w Соседний чат о Qt: @qt_chat Соседний чат по "Чистому Си": @pure_C Соседний чат по C++: @cpptogether Соседний чат по вычислительной математике: @comput_math Соседний чат по физике: @physpub Соседний чат по высшему матану: @higher_math Соседний чат про Embedded: @proembedded Наши каналы: @ProCxxNews – новости и мероприятия; @ProCxxChannel – небольшие заметки и ссылки; @ProCxxJobs – вакансии; @xthon – цитатник; @AlexFailsChannel – канал @AlexFails с его фигней о C++ и не очень; @mrSmith_bread – авторский проект "Хлеб мистера Смита"; Правила чата Команда /rules. Чтобы она сработала, надо стартануть @gbreborn_bot в личной беседе с ним. (Если не сработала ,то вот линк на правила: https://t.me/ProCxx/145398) Литература по C++ В чате есть куча книжек. Ищите по тегу #book. Подкаст Мы тут пилим подкаст по плюсам и мы собираем вопросы для второго подкаста: https://goo.gl/forms/8BAjNcLwPOKkQR0y2 —--------- Прошлый пин от Антона Полухина Есть здесь люди, умеющие писать оптимизации для clang или gcc? Очень хочется, чтобы решили вот эти тикеты: https://bugs.llvm.org/show_bug.cgi?id=35052 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53294 Готов в обмен починить мешающие вам Boost-проблемы или помочь другим советом/делом. Социальные сети вк - vk.com/procxx github - github.com/procxx Instagram - в поиске supapro.cxx
прошлый #pin
Aidar
или старый гцц, или нопай
no-pie не линкует glibc
Aidar
/usr/bin/ld: /tmp/ccltqelA.o: relocation R_X86_64_32 against undefined symbol `__pthread_key_create' can not be used when making a shared object; перекомпилируйте с параметром -fPIC
Evgenii
no-pie не линкует glibc
glibc пересобери тоже :)
Vladislav
а может кто-нибудь по schedule_work() @ linux kernel подсказать? в какой момент оно фейлится - до запуска таска или завершения таска?
Igor
ай спасибо! 😊
A
Подскажите, а можно что-то подобное в C++ делать? https://ru.stackoverflow.com/questions/528321/Вызов-метода-объекта-по-ссылке-родительского-класса-в-c
🦥Alex Fails
class Some { public: virtual void f(); } class Some2 : public Some { public: void f() override() { Some::f(); // your code } }
Egor
Но вообще есть static_cast для случаев, когда вы абсолютно точно уверены в типе объекта и dynamic_cast для случаев, когда хотите проверить (но тогда надо, чтобы у всех используемых объектов был хотя бы один виртуальный метод)
Egor
И, видимо, да, лучше в supapro
Billy
В С++ можно всё (с)
🦥Alex Fails
ну, можно убрать слово virtual и слово override, и будет то же самое