identyfikatory języka C++
Identyfikator jest ciągiem znaków używanycg do określenia jednej z następujących czynności:
Nazwa zmiennej lub obiektu
Klasy, struktury lub nazwa związku
Nazwa wymienionego typu
Element członkowski klasy, struktura, związek lub wyliczenie
Funkcja lub funkcja klasy członkowskiej
nazwa typedef
Nazwa etykiety
Nazwa makra
Parametr makra
Następujące znaki są dopuszczalne jako pierwszy znak w identyfikatorze lub dowolny kolejny:
_ a b c d e f g h i j k l m
n o p q r s t u v w x y z
A B C D E F G H I J K L M
N O P Q R S T U V W X Y Z
Następujące znaki są dopuszczalne jako dowolny znak w identyfikatorze oprócz pierwszego:
0 1 2 3 4 5 6 7 8 9
Specyficzne dla firmy Microsoft
Tylko pierwsze 2048 znaków identyfikatorów Microsoft C++ są znaczące.Nazwy typów zdefiniowanych przez użytkownika są „dekorowane” przez kompilator, aby zachować informacje o typie.Nazwa wyniku, włączając informację odnośnie do typu, nie może przekraczać 2048 znaków. (Zobacz Nazwy dekorowane , aby uzyskać więcej informacji.) Czynniki, które mogą mieć wpływ na długość identyfikatora dekorowanego:
Czy identyfikator oznacza obiekt typu zdefiniowanego przez użytkownika lub typ wywodzący się z typu zdefiniowanego przez użytkownika.
Czy identyfikator oznacza funkcję lub typ wywodzący się z funkcji.
Liczba argumentów funkcji.
Znak dolara jest również prawidłowym identyfikatorem języka Visual C++.
// dollar_sign_identifier.cpp
struct $Y1$ {
void $Test$() {}
};
int main() {
$Y1$ $x$;
$x$.$Test$();
}
KONIEC informacji specyficznych dla firmy Microsoft
Pierwszy znak identyfikatora musi być znakiem alfabetycznym, wielką lub małą literą lub znakiem podkreślenia ( _ ).Ponieważ identyfikatory języka C++ jest uwzględniana wielkość liter, fileName różni się od FileName.
Identyfikatory nie mogą mieć dokładnie takiej samej pisowni i wielkości liter jak słowa kluczowe.Identyfikatory zawierające słowa kluczowe są dozwolone.Na przykład Pint jest dozwolonym identyfikatorem, mimo że zawiera int, które jest słowem kluczowym.
Użycie dwóch podkreślników bezpośrednio po sobie ( __ ) na początku identyfikatora lub pojedynczego wiodącego podkreślnika, a po nim wielkiej litery, jest zarezerwowane dla implementacji C++ we wszystkich zakresach.Dla nazw z zakresem pliku należy unikać używania stosowania na przedzie jednego podkreślenia, po którym następuje mała litera z powodu możliwych konfliktów z obecnymi lub przyszłymi zarezerwowanymi identyfikatorami.