Возврат prvalue из функции со взятым мьютексом
Форум — Development
Две функции одинаковые по сути
Symbol_info Data_collector::symbol_info() const
{
Symbol_info ret;
std::shared_lock<std::shared_mutex> lck(*this->m_mtx);
ret = this->m_symbol_info;
return ret;
}
Symbol_info Data_collector::symbol_info() const
{
std::shared_lock<std::shared_mutex> lck(*this->m_mtx);
return this->m_symbol_info;
}
Не могут ли возникнуть во втором варианте проблемы, связанные с тем, что m_symbol_info будет прочитан после освобождения мьютекса?