MK
Size: a a a
MK
AN
DK
AF
О
DK
АК
T _v{}
придётся чуть заморочиться на трейтах, а вот методы легко:void value() const requires std::same_as<T, void> { throw ... }
const T& value() const requires (!std::same_as<T, void>) { return ... }
m
DK
DK
T _v{}
придётся чуть заморочиться на трейтах, а вот методы легко:void value() const requires std::same_as<T, void> { throw ... }
const T& value() const requires (!std::same_as<T, void>) { return ... }
requires
AF
T _v{}
придётся чуть заморочиться на трейтах, а вот методы легко:void value() const requires std::same_as<T, void> { throw ... }
const T& value() const requires (!std::same_as<T, void>) { return ... }
AF
MK
AF
АК
optional<void>
- вполне разумный случай для шаблонного кода, просто почему-то никто не считает void
юнит-типомDK
AF
AF
MK
MK