© Anton Dolganin 2025
В C++ можно определять свои суффиксы — вроде _km
, _kg
, _usd
— через перегрузку operator""
. Это делает код читаемее и дает compile-time преобразования.
Пример: перевод километров и метров в метры:
constexpr long double operator"" _km(long double val) {
return val * 1000;
}
constexpr long double operator"" _m(long double val) {
return val;
}
int main() {
long double distance = 2.5_km + 300.0_m;
std::cout << distance << " meters\n"; // 2800 meters
}
Литералы можно перегружать для чисел, строк, std::chrono
и даже std::string
.
© Anton Dolganin 2025