© Anton Dolganin 2026
В 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 2026