Информация об изменениях

Сообщение Re[10]: Оператор приведения от 05.07.2019 13:10

Изменено 05.07.2019 13:13 Videoman

Re[10]: Оператор приведения
Здравствуйте, night beast, Вы писали:

NB>а это нормально что

NB>
NB>        new(&m_data) Type(std::forward<OtherType>(value));
NB>

NB>при OtherType == std::optional
NB>дает не то значение, что хранится в value?

Нет. Вот как-раз сейчас сижу с этим разбираюсь. У меня голова сейчас немного обалдела от этого optional. Сейчас объясню почему реакция у меня идет с такими задержками. Дело в том, что у меня огромная библиотека и как раз там есть собственная реализация std::optional для 13-й Студии. Также, все обложено кучей моих же тестов, которые как раз сейчас валятся. Если вы уже поняли в чем ошибка и как лучше исправить — буду вам премного благодарен.

Вообще вот эта конструкция:
inline optional<Type>::optional(OtherType&& value, std::decay_t<compatible_t<OtherType>>*) _NOEXCEPT

на практике оказывается очень жадная.
Re[10]: Оператор приведения
Здравствуйте, night beast, Вы писали:

NB>а это нормально что

NB>
NB>        new(&m_data) Type(std::forward<OtherType>(value));
NB>

NB>при OtherType == std::optional
NB>дает не то значение, что хранится в value?

Нет. Вот как-раз сейчас сижу с этим разбираюсь. У меня голова сейчас немного обалдела от этого optional. Сейчас объясню почему реакция идет с такими задержками. Дело в том, что у меня огромная библиотека и как раз там есть собственная реализация std::optional для 13-й Студии. Также, все обложено кучей моих же тестов, которые как раз сейчас валятся. Если вы уже поняли в чем ошибка и как лучше исправить — буду вам премного благодарен.

Вообще вот эта конструкция:
inline optional<Type>::optional(OtherType&& value, std::decay_t<compatible_t<OtherType>>*) _NOEXCEPT

на практике оказывается очень жадная.