История изменений
Исправление KennyMinigun, (текущая версия) :
Небольшая неточность в коде (на самом деле 2)
struct Value
{
operator float() const { return _value; }
// ...
}; // третья?
Я б еще по принципу «least surprise» сделал explicit:
explicit operator float() const { return _value; }
explicit Value(const float v) : _value{v} {}
И в качестве профилактики UB (связанной с lifetime обьекта) и (возможной) оптимизации еще б приправил constexpr:
struct Value {
constexpr explicit Value(const float v) : _value{v} {}
constexpr explicit operator float() const { return _value; }
// ...
};
Исправление KennyMinigun, :
Небольшая неточность в коде (на самом деле 2)
struct Value
{
operator float() const { return _value; }
// ...
}; // третья?
Я б еще по принципу «least surprise» сделал explicit:
explicit operator float() const { return _value; }
explicit Value(const float v) : _value{v} {}
И в качестве профилактики UB (связанной с lifetime обьекта) и (возможной) оптимизации еще б приправил constexpr:
struct Value {
constexpt explicit Value(const float v) : _value{v} {}
constexpr explicit operator float() const { return _value; }
// ...
};
Исправление KennyMinigun, :
Небольшая неточность в коде (на самом деле 2)
struct Value
{
operator float() const { return _value; }
// ...
}; // третья?
Я б еще по принципу «least surprise» сделал explicit:
explicit operator float() const { return _value; }
И в качестве профилактики UB (связанной с lifetime обьекта) и (возможной) оптимизации еще б приправил constexpr:
struct Value {
constexpr explicit operator float() const { return _value; }
// ...
};
Исходная версия KennyMinigun, :
Небольшая неточность в коде (на самом деле 2)
struct Value
{
operator float() const { return _value; }
// ...
}; // третья?
Я б еще по принципу «least surprise» сделал explicit:
explicit operator float() const { return _value; }
И в качестве профилактики UB (связанной с lifetime обьекта) и (возможной) оптимизации еще б приправил constexpr:
struct Value {
constexpr operator float() const { return _value; }
// ...
};