Ч
ЕЛЯБИНСК,
ЮУ
Р
ГУ
,
ИЕТН
Назад
Начало
Учебные материалы
Язык С++
Подразделы
Другие разделы
next C++
Ссылки
Улучшения языка C
Классы
Шаблоны
Наследование
Исключительные ситуации
STL
Лабораторные работы
Курсовая работа
Вопросы к экзамену
Дата и время
21/11/2024 19:32:40
Авторизация
Имя:
Пароль:
Вход
Зарегистрироваться
Восстановить пароль
Перегрузка функций и операций
Правила связывания
Правила перегрузки операций
Примеры перегрузки операций
Операция преобразования
Перегрузка new и delete
Определение суффиксов для констант *
Термины
Определение суффиксов для констант *
Программисты могут определять свои виды констант следующим образом:
```c++
constexpr long operator "" b(const char *s) // двоичное число, преобразование во время компиляции
{ long r=0;
for(;*s;++s) r=(r<<1)+(*s!='0');
return r;
}
constexpr complex<double> operator "" i(long double d) // мнимая константа
{ return {0,d};
}
constexpr double operator "" _deg(long double d) // градусы
{ return d*PI/180.0;
}
std::string operator "" s(const char* p, size_t n) // строковая константа, преобразование во время выполнения
{ return string(p,n);
}
void f(const string &);
void f(const char *);
...
int x=1011b;
complex<double> c=2+3i;
f("Text"s); // вызов f(const string&);
double r=sin(30_deg); // найти синус от 30 градусов
```
Суффиксы ``s`` и ``i`` уже определены в С++, здесь они показаны в качестве примера заголовков.