Wyrażenia stałe języka C++

Stała wartość to taka, która nie zmienia się. Język C++ udostępnia dwa słowa kluczowe, które umożliwiają wyrażenie intencji, że obiekt nie ma być modyfikowany, oraz wymuszania tej intencji.

Język C++ wymaga stałych wyrażeń — wyrażeń, które są obliczane na stałą — w przypadku deklaracji:

  • Granice tablicy

  • Selektory w instrukcjach wielkości liter

  • Specyfikacja długości pola bitowego

  • Inicjatory wyliczenia

Jedynymi operandami, które są legalne w wyrażeniach stałych, są:

  • Literały

  • Stałe wyliczenia

  • Wartości zadeklarowane jako const, które są inicjowane przy użyciu wyrażeń stałych

  • sizeof Wyrażenia

Stałe nieintegralne muszą być konwertowane (jawnie lub niejawnie) na typy całkowite, aby być legalne w wyrażeniu stałym. W związku z tym następujący kod jest legalny:

const double Size = 11.0;
char chArray[(int)Size];

Jawne konwersje na typy całkowite są legalne w wyrażeniach stałych; wszystkie inne typy i typy pochodne są nielegalne, z wyjątkiem przypadków, gdy są używane jako operandy operatora sizeof .

Operator przecinka i operatory przypisania nie mogą być używane w wyrażeniach stałych.

Zobacz też

Typy wyrażeń