Константні вирази

Константний вираз- це вираз, обчислення якого дає в результаті константу (причому що лежить в діапазоні, визначеному для констант даного типу). Обчислення константних виразів виконується як і, як і обчислення звичайних виразів. Константні вирази можна використовувати скрізь, де допускається використання самих констант (наприклад, якщо потрібно обчислити межі масиву, у виразах case, для завдання довжини бітового поля) як значення значення елемента перерахування, що ініціалізують (вирази, обчислення яких дає в результаті цілочисельні константи). Константні вирази не можуть містити наступних операцій, якщо вони не містяться в операнді sizeof():

Пунктуатори

Пунктуатори, також звані роздільниками, визначаються таким чином:

Відкриває та закриває квадратні дужки– [ ] містять індекси одно- та багатовимірних масивів, наприклад:

ch = str[3];/*змінної ch присвоюється 4-й символ з рядка str*/

Відкриває та закриває круглі дужки– ( ) змінюють пріоритети операцій у виразі, містять умови умовних виразів та вказують на виклики функцій та параметри функцій, наприклад:

d = c * (a + b); /* зміна пріоритету*/

if (d == z) ++x; /*містить умову умовного оператора*/

func();/*виклик функції без аргументів*/

fptr = func; /*відсутність () означає покажчик функції*/

Рекомендується використовувати круглі дужки в макровизначеннях, що дозволяє уникнути можливих проблем із пріоритетами операцій під час розширення, наприклад:

Відкриваючі та закриваючі фігурні дужки– < >позначають початок та кінець складовогооператора, наприклад:

<>; /*неприпустиме використання точки з комою*/

Кома(,) відокремлює елементи списку аргументів функції, наприклад:

void func(int n, float f, char ch);

Кома часто використовується як операція у виразах. Змішування різного використання коми допустиме, але щоб їх розрізняти, необхідно застосовувати круглі дужки. Наприклад:

func(i, j); /*виклик функції з двома аргументами*/

func((exp1, exp2), (exp3, exp4, exp5)); /*виклик функції з 2 аргументами*/

Точка з комою(;) вказує на кінець оператора (кінець пропозиції). Будь-який допустимий вираз мови С або С++ (включаючи і порожній вираз), за яким слідує (;), інтерпретується як оператор, який називається оператором виразу. Вираз обчислюється, яке значення відкидається. Якщо такий вираз не має побічних ефектів, компілятор мови C++ може його проігнорувати. Наприклад:

a + b; /*a + b обчислюється, але отримане значення втрачається*/

++a; /*є побічний ефект для a*/

; /*порожній вираз = нульовий оператор*/

Крапки з комою часто використовуються для створення порожніх операторів: