LINUX.ORG.RU

История изменений

Исправление 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; }
  // ...
};