Антон Долганин

Я инженер, который решает задачи, а не пишет на языке. Архитектура, разработка, DevOps — подбираю инструменты под цель, строю решения, которые работают в проде и масштабируются без боли.

В 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.

Пользовательские литералы в C++ — читаемый код без магии