Читайте также:
|
|
этот объект из переменной в константу, например:
const int one = 1, two=2;
const int v[] = { 1, 2, 3, 4 };
int const three=3, four=4;
Поскольку константе нельзя ничего присвоить, она должна быть
Инициализирована. Описывая какой-либо объект как const, мы гарантируем, что
его значение не может быть изменено в области видимости:
one = 200; // ошибка
two++; // ошибка
four++; // ошибка
v[1]=7; // ошибка
Операции
С++ имеет большой набор операций для работы с данными.
Ниже приводится краткая сводка операций языка С++. Каждая операция
Сопровождается одним или несколькими характерными для нее именами и примером ее использования. В этих примерах class_name обозначает имя класса, member - имя члена класса, object - выражение, задающее объект класса, pointer -
Выражение, задающее указатель, expr - просто выражение, а lvalue (адрес) -
Выражение, обозначающее не являющийся константой объект. Происхождение lvalue
от left value, то есть это выражение, которое может стоять слева от знака присваивания. Обозначение (type) задает имя типа в общем виде (с возможным добавлением *, () и т.д.).
Все операции объединены в группы. Группы операций в таблице отделены друг от друга горизонтальными линиями. Операции одной группы имеют одинаковый приоритет и порядок выполнения (слева-направо или справа-налево).
Порядок применения унарных операций и операций присваивания "справа налево", а всех остальных операций - "слева направо". То есть, a=b=c означает a=(b=c), a+b+c означает (a+b)+c, и *p++ означает *(p++), а не (*p)++.
Приоритет операций уменьшается в таблице "сверху вниз". Например, a+b*c означает a+(b*c), так как * имеет приоритет выше, чем +; выражение a+b-c означает (a+b)-c, поскольку + и - имеют одинаковый приоритет, и операции + и - применяются "слева направо". Некоторые операции описаны в самой таблице, другие, более сложные для понимания - отдельно после.
________________________________________________________________________
Операции С++
====================================================================
:: Разрешение области видимости class_name:: member
:: Глобальное:: name
________________________________________________________________________
Порядок выполнения операций - слева-направо
Прямой выбор члена класса object. member
-> Косвенный выбор члена класса pointer -> member
[] Индексирование pointer [ expr ]
() Вызов функции expr (expr_list)
________________________________________________________________________
Порядок выполнения операций - справа-налево
++ Постфиксный инкремент lvalue ++
++ Префиксный инкремент ++ lvalue
-- Постфиксный декремент lvalue --
-- Префиксный декремент -- lvalue
~ Дополнение (инверсия значений разрядов: ~ expr
Меняется на 1 и наоборот)
! Логическое НЕ (если значение аргумента! expr
Равно 0, то результат равен 1, если
Значение аргумента не равно 0, то
Дата добавления: 2015-07-07; просмотров: 143 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Окончание U или u может использоваться для явного задания констант типа | | | Результат равен 0) |