Sdílet prostřednictvím


Výrazy konstant v jazyce C++

Konstantní hodnota je hodnota, která se nemění. Jazyk C++ poskytuje dvě klíčová slova, která umožňují vyjádřit záměr, že objekt není určen k úpravě, a k vynucení tohoto záměru.

Jazyk C++ vyžaduje konstantní výrazy – výrazy, které se vyhodnocují jako konstanta – pro deklarace:

  • Hranice pole

  • Selektory v příkazech velkých a malých písmen

  • Specifikace délky bitových polí

  • Inicializátory výčtu

Jedinými operandy, které jsou v konstantních výrazech legální, jsou:

  • Literály

  • Výčtové konstanty

  • Hodnoty deklarované jako const, které jsou inicializovány pomocí konstantních výrazů

  • sizeof výrazy

Neintegrované konstanty musí být převedeny (explicitně nebo implicitně) na integrální typy, které mají být v konstantním výrazu legální. Proto je platný následující kód:

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

Explicitní převody na integrální typy jsou v konstantních výrazech legální; všechny ostatní typy a odvozené typy jsou neplatné s výjimkou případů, kdy jsou použity jako operandy operátoru sizeof .

Operátor čárky a operátory přiřazení nelze použít ve výrazech konstant.

Viz také

Typy výrazů