LINUX.ORG.RU

История изменений

Исправление 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. Поэтому твой фокус не пройдет.