Привет!
void thread_func();
void some_func();
int main() {
std::thread t(thread_func);
some_func();
t.join();
}
К моменту вызова t.join() поток t уже мог завершиться, но тем не менее по стандарту все равно требуется вызвать либо join() либо detach() перед деструктором std::thread — иначе деструктор std::tread зовет std::terminate(). Объясните, пожалуйста, почему такое требование?