История изменений
Исправление asaw, (текущая версия) :
А если переменная потока - динамическая. То при при ее удалении оператором delete
Нет никакой разницы как вызывается деструктор - посредством delete или при выходе из области видимости. Поэтому то что у тебя - просто пример плохого кода (из-за неоправданного использования new и delete). Это во-первых. Во-вторых смотри документацию деструктора std::thread: http://en.cppreference.com/w/cpp/thread/thread/~thread То есть правильное использование работающего thread такое: сначала делаешь join(), а потом уже уничтожаешь объект thread. Поэтому твой фокус не пройдет.
Кстати, join() лучше делать из того же потока, из которого ты создавал поток.
Исправление asaw, :
А если переменная потока - динамическая. То при при ее удалении оператором delete
Нет никакой разницы как вызывается деструктор - посредством delete или при выходе из области видимости. Поэтому то что у тебя - просто пример плохого кода (из-за неоправданного использования new и delete). Это во-первых. Во-вторых смотри документацию деструктора std::thread: http://en.cppreference.com/w/cpp/thread/thread/~thread То есть правильное использование работающего thread такое: сначала делаешь join(), а потом уже уничтожаешь объект thread. Поэтому твой фокус не пройдет.
Исходная версия asaw, :
А если переменная потока - динамическая. То при при ее удалении оператором delete
Нет никакой разницы как вызывается деструктор - посредством delete или при выходе из области видимости. Поэтому то что у тебя - просто пример плохого кода (из-за неоправданного использования new и delete). Это во-первых. Во-вторых смотри документацию деструктора std::thread: http://en.cppreference.com/w/cpp/thread/thread/~thread То есть правильное использование thread такое: сначала делаешь join(), а потом уже уничтожаешь объект thread. Поэтому твой фокус не пройдет.