Size: a a a

cxx.Дискуссионная

2020 April 18

/dev/urandon ¯\_(ツ)_... in cxx.Дискуссионная
Roy Mustang
Погодите, разве std::move не кастует объект к T&& ?
Подставь теперь T=U&
источник

/dev/urandon ¯\_(ツ)_... in cxx.Дискуссионная
U&&& = U&
источник

/dev/urandon ¯\_(ツ)_... in cxx.Дискуссионная
Сколько раз рефененс в std::move не оборачивай, ничего не изменится
источник

RM

Roy Mustang in cxx.Дискуссионная
Понятно
источник

RM

Roy Mustang in cxx.Дискуссионная
А как быть мне с верхним кодом? Там по сути в .insert создается pair прежде чем вызвать insert,
Разве не правильней
net_cl_msg_cb_map.emplace(msg_id, std::forward<NET_MSG_FUNCTOR>(cb));
источник

/dev/urandon ¯\_(ツ)_... in cxx.Дискуссионная
Roy Mustang
Почему emplace не работает у queue
Работает, там другой конструктор вызывается, неявно сгенерированный
источник

/dev/urandon ¯\_(ツ)_... in cxx.Дискуссионная
/dev/urandon ¯\_(ツ)_/¯
Работает, там другой конструктор вызывается, неявно сгенерированный
А именно, конструктор копирования. Ты его не ловишь, потому вывода в консоли не видишь
источник

RM

Roy Mustang in cxx.Дискуссионная
Что это значит?
источник

/dev/urandon ¯\_(ツ)_... in cxx.Дискуссионная
Ну и emplace работает не так
источник

RM

Roy Mustang in cxx.Дискуссионная
Если аргумент NET_MSG_FUNCTOR&& cb, а метод std::move - это
template <class _Ty>
_NODISCARD constexpr remove_reference_t<_Ty>&& move(_Ty&& _Arg) noexcept { // forward _Arg as movable
   return static_cast<remove_reference_t<_Ty>&&>(_Arg);
}
источник

RM

Roy Mustang in cxx.Дискуссионная
По сути, м получаем объект &&& ?
источник

/dev/urandon ¯\_(ツ)_... in cxx.Дискуссионная
Konstantin Kozyrev
Здесь конечно же все 24/7 сидят чтоб на твои вопросы отвечать, ага
Вот @supapro для этого и есть, а здесь просто раковник (=
источник

RM

Roy Mustang in cxx.Дискуссионная
/dev/urandon ¯\_(ツ)_/¯
Вот @supapro для этого и есть, а здесь просто раковник (=
Там не хотят снимать мут
источник

/dev/urandon ¯\_(ツ)_... in cxx.Дискуссионная
источник

KK

Konstantin Kozyrev in cxx.Дискуссионная
Кросиво. Сам делал?
источник

TS

Till Schneider in cxx.Дискуссионная
Roy Mustang
пздц, такую тупую ошибку допустил
Впрочем, как и всегда =)
источник

RM

Roy Mustang in cxx.Дискуссионная
Till Schneider
Впрочем, как и всегда =)
Да это невнимательность была
источник

/dev/urandon ¯\_(ツ)_... in cxx.Дискуссионная
Konstantin Kozyrev
Кросиво. Сам делал?
Д
источник

KK

Konstantin Kozyrev in cxx.Дискуссионная
А что за ягоды слева?
источник

RM

Roy Mustang in cxx.Дискуссионная
Из-за того чтоб иметь поддержку принимать функции из классов
источник