Re[21]: Visual C# vs C++. Надо сравнить перспективы.
От: alex_public  
Дата: 09.01.17 19:32
Оценка:
Здравствуйте, lpd, Вы писали:

lpd>Скомпилировал clang++ в linux и запустил этот код и получил undefined behaviour:

lpd>

lpd>140353170302720 constructor: hello world
lpd>140353170302720 print: hello world
lpd>140353170302720 move constructor: hello world
lpd>140353170302720 move constructor: hello world
lpd>140353170302720 destructor:
lpd>140353170302720 destructor:
lpd>terminate called after throwing an instance of 'std::system_error'
lpd> what(): Invalid argument
lpd>Aborted (core dumped)


А, у тебя линух, понятно. Ну замени там первый second.join(); на какой-нибудь банальный this_thread::sleep_for(1s); и всё заработает. Это не имеет отношения к обсуждаемому нами вопросу, а связано с ожиданием завершения потока из двух других в pthread. В общем это тема отдельной дискуссии на тему синхронизации, можем тоже обсудить, если захочешь, но к вопросу передачи "локального" объекта между потоками это никакого отношения не имеет. )
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.