Size: a a a

2021 July 14

K

Kirill in supapro.cxx
Для визитора, например
источник

AB

Artöm Bakri Al-Sarmi... in supapro.cxx
std::thread? Локальный автоматический? Он падает в дторе, если не джойнить
источник

K

Kirill in supapro.cxx
Ещё optional можно реализовать через юнион
источник

 P

 ‌‌Gleb Pilipets... in supapro.cxx
А что значит падает в дторе? terminate?

Поток member класса, для которого я выкидываю exception в ctor.
источник

AB

Artöm Bakri Al-Sarmi... in supapro.cxx
Давай кодом
источник

DP

Denis Paukaev in supapro.cxx
при вызове деструктора потока, если не было join/detach - всё будет плохо
источник

DP

Denis Paukaev in supapro.cxx
и тут не важно, в классе это, в конструкторе, или ещё где-то
источник

K

Kirill in supapro.cxx
Вот бы потоки сами джойнились в деструкторе…
источник

 P

 ‌‌Gleb Pilipets... in supapro.cxx
MyClass::MyClass(Config config) :
...
 worker_thread(&MyClass::processQueue, this) {

std::throw runtime_error("Interesting");
}
источник

DP

Denis Paukaev in supapro.cxx
std::jthread?)
источник

 P

 ‌‌Gleb Pilipets... in supapro.cxx
Та обычный std::thread
источник

K

Kirill in supapro.cxx
Не у всех есть C++20 )
источник

K

Kirill in supapro.cxx
Но спасибо за инфу, не знал
источник

DP

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

K

Kirill in supapro.cxx
Да, это не сложно
источник

 P

 ‌‌Gleb Pilipets... in supapro.cxx
Ладно, насколько я понял, то вызов в потоке какого-то метода лучше всего делать в конце конструктора, а не в initializer_list, если ctor может выбрасывать exceptions?
источник

DP

Denis Paukaev in supapro.cxx
используй raii просто
источник

 P

 ‌‌Gleb Pilipets... in supapro.cxx
raii на поток?

деструктор объекта будет вызван только для complete constructed класса
источник

DP

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

DP

Denis Paukaev in supapro.cxx
и тогда не будет проблем
источник