Size: a a a

2020 July 16

F

Fuzzytoozy in supapro.cxx
А можно имея корку посмотреть memory layout этого процесса на момент краша?
источник

АК

Александр Караев... in supapro.cxx
если это полная корка, то почему бы и нет
прям по байтикам можно пошляться
источник

F

Fuzzytoozy in supapro.cxx
А именно layout как в proc/pid/maps?
источник

/

/bin/cat in supapro.cxx
Что происходит при создании и уничтожении std::shared_ptr s_ptr(var), где var - класс, который не имеет деструктора?
источник

АК

Александр Караев... in supapro.cxx
Fuzzytoozy
А именно layout как в proc/pid/maps?
уточни, что именно ты под ним подразумеваешь
источник

АК

Александр Караев... in supapro.cxx
/bin/cat
Что происходит при создании и уничтожении std::shared_ptr s_ptr(var), где var - класс, который не имеет деструктора?
у любого класса есть деструктор, просто он может быть не описан явно, удалён, default, user-defined и т.д.
источник

ПК

Побитый Кирпич... in supapro.cxx
/bin/cat
Что происходит при создании и уничтожении std::shared_ptr s_ptr(var), где var - класс, который не имеет деструктора?
Что значит "не имеет деструктора"?
источник

DF

Dollar Føølish in supapro.cxx
У агрегаток тоже деструктор есть?
источник

Е

Егор in supapro.cxx
А зачем оставили возможность удалять деструктор?
источник

АК

Александр Караев... in supapro.cxx
Dollar Føølish
У агрегаток тоже деструктор есть?
формально, деструктор можно вызвать и на int a;
источник

DF

Dollar Føølish in supapro.cxx
Да, понятно
источник

/

/bin/cat in supapro.cxx
Александр Караев
у любого класса есть деструктор, просто он может быть не описан явно, удалён, default, user-defined и т.д.
Хорошо, а что если не совсем полные заголовки?

class NotUsedYet;

class Useful {
public:
   void **pseudoVtable;
   NotUsedYet &ref;
   int a;
   float b;
};
источник

Е

Егор in supapro.cxx
/bin/cat
Хорошо, а что если не совсем полные заголовки?

class NotUsedYet;

class Useful {
public:
   void **pseudoVtable;
   NotUsedYet &ref;
   int a;
   float b;
};
мамочки
источник

/

/bin/cat in supapro.cxx
И скажем, что Useful где-нибудь наследуется
источник

АК

Александр Караев... in supapro.cxx
/bin/cat
Хорошо, а что если не совсем полные заголовки?

class NotUsedYet;

class Useful {
public:
   void **pseudoVtable;
   NotUsedYet &ref;
   int a;
   float b;
};
а в чем проблема?
источник

/

/bin/cat in supapro.cxx
Useful2 : public Useful + какие-то переменные
источник

АК

Александр Караев... in supapro.cxx
Егор
А зачем оставили возможность удалять деструктор?
чтобы запретить удалять класс, очевидно
источник

/

/bin/cat in supapro.cxx
Я боюсь за утечки
источник

Е

Егор in supapro.cxx
Александр Караев
чтобы запретить удалять класс, очевидно
гарантированный отстрел ног?
источник

АК

Александр Караев... in supapro.cxx
/bin/cat
Хорошо, а что если не совсем полные заголовки?

class NotUsedYet;

class Useful {
public:
   void **pseudoVtable;
   NotUsedYet &ref;
   int a;
   float b;
};
у такого класса деструктор будет делать:
ничего
источник