Size: a a a

2021 July 14

K

Kirill in supapro.cxx
Ну да, а в этом классе твой поток
источник

 P

 ‌‌Gleb Pilipets... in supapro.cxx
заджойнит сам себя?
источник

DP

Denis Paukaev in supapro.cxx
объекта, а не его полей
источник

DP

Denis Paukaev in supapro.cxx
для его полей что успело construct то будет destruct
источник

DP

Denis Paukaev in supapro.cxx
и для потока этот destruct фатально может закончиться
источник

 P

 ‌‌Gleb Pilipets... in supapro.cxx
ну это понятно - я в потоке вызываю метод, поток джойню в деструкторе объекта.
Вы предлагаете джойнить поток в RAII стиле?
источник

K

Kirill in supapro.cxx
Да, написать обертку для std thread

Который в деструкторе будет делать join
источник

DP

Denis Paukaev in supapro.cxx
если у тебя поток это поле класса, и он инициализируется выше, чем потенциальные исключения в конструкторе, то лучше raii явно
источник

DP

Denis Paukaev in supapro.cxx
иначе придётся страдать
источник

 P

 ‌‌Gleb Pilipets... in supapro.cxx
ладно, сделаю последней строкой просто в конструкторе👌
источник

DP

Denis Paukaev in supapro.cxx
костыль конечно, но будет работать
источник

DP

Denis Paukaev in supapro.cxx
завтра кто-то добавил поле после потока, и привет
источник

DP

Denis Paukaev in supapro.cxx
лучше так не делать в общем
источник

K

Kirill in supapro.cxx
Можно объявить его в самом конце класса
источник

DP

Denis Paukaev in supapro.cxx
да, завтра добавят товарищи новое поле в конец
источник

K

Kirill in supapro.cxx
Обычно в начале добавляют, вроде бы
источник

DP

Denis Paukaev in supapro.cxx
это хрупкое решение
источник

DP

Denis Paukaev in supapro.cxx
сейчас бы на такое надеяться )
источник

DP

Denis Paukaev in supapro.cxx
надо писать так, чтобы от порядка ничего не зависело, если это возможно
источник

K

Kirill in supapro.cxx
10 полей объявлено в начале, и 1 поле в конце
Я бы добавлял новые поля в начало, если бы такое увидел
источник