Size: a a a

2020 July 16

/

/bin/cat in supapro.cxx
Можно как-нибудь проверить во что оно компилируется?
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Егор
гарантированный отстрел ног?
Можно protected деструктор объявить например
источник

Е

Егор in supapro.cxx
🎄🎊 R 🎅 Tb| ✡️ 🎊🎄
Можно protected деструктор объявить например
Ну с протектедом понятно, а удалять зачем
источник

/

/bin/cat in supapro.cxx
Чтобы не смотреть в дизасме каждый раз
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Егор
Ну с протектедом понятно, а удалять зачем
Ну или например чтобы нельзя было иметь переменную этого типа
источник

АК

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

Е

Егор in supapro.cxx
🎄🎊 R 🎅 Tb| ✡️ 🎊🎄
Ну или например чтобы нельзя было иметь переменную этого типа
для этого не конструкторы удаляют?
источник

АК

Александр Караев... in supapro.cxx
/bin/cat
Можно как-нибудь проверить во что оно компилируется?
можно выучить C++ и знать ответ наверняка, например
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Егор
для этого не конструкторы удаляют?
Можно по разному
источник

АК

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

/

/bin/cat in supapro.cxx
Я могу следить за памятью и сам, но вот с передачей smart pointer'ов в другие функции могут быть проблемы
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Александр Караев
ещё есть вариант, когда ты знаешь layout класса, а сам объект тебе даёт библиотека по ссылке.
чтобы ты не удалил его и не создал сам
Для синглтонов например. Чтобы пользователь не смог удалить
источник

Е

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

АК

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

АК

Александр Караев... in supapro.cxx
хотя хз, насколько это легально
источник

/

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

class NotUsedYet;

class Useful {
public:
   void **pseudoVtable;
   NotUsedYet &ref;
   int a;
   float b;
};
Что будет при изменении T &ref на T *ptr?
источник

VS

Vlad Serebrennikov in supapro.cxx
/bin/cat
Можно как-нибудь проверить во что оно компилируется?
оно не должно скомпилироваться, если объект будет где-то удаляться
источник

Е

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

/

/bin/cat in supapro.cxx
Все равно не дропнет?
источник

/

/bin/cat in supapro.cxx
Vlad Serebrennikov
оно не должно скомпилироваться, если объект будет где-то удаляться
Должно
источник