Programovanie v jazyku C++
2. Lexikálne konvencie
2.1. Mená (Identifiers)
Pojem meno
označuje nasledujúce elementy jazyka C++:
-
Objekty alebo premenné.
-
Triedy, štruktúry a unióny.
-
Vyčíslené dátové typy.
-
Atribúty triedy, štruktúry, uniónu alebo vyčísleného dátového typu.
-
Funkcie a metódy triedy.
-
Preddefinované typy (typedef).
-
Návestia skokov.
-
Makrá.
-
Parametre makier.
Mená môžu pozostávať
z nasledujúcich znakov:
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
_ 0 1 2 3 4 5 6 7 8 9
Pre tvorbu
mien platia nasledujúce konvencie:
-
Meno nesmie začínať číslicou '0' ... '9'.
-
Kľúčové slovo nemôže byť menom.
-
Počet znakov v mene nie je obmedzený.
-
Podčiarovník '_' je pokladaný za písmeno a môže byť použitý na začiatku
mena.
-
Malé a veľké písmená sa v C++ rozlišujú.
Počas procesu
kompilácie kompilátor hladá vždy najdlhší reťazec v sekvencii znakov a
pokiaľ sú dodržané vyššie uvedené konvencie, prehlási reťazec za meno.
Reťazec var10 je potom jedno meno,
nie meno var nasledované číslicou
10, reťazec elseif
je meno, nie kľúčové slovo else nasledované
kľúčovým slovom if.
Veľkosť C++ programu po kompilácii prakticky nezávisí od dĺžky použitých
mien. Pri voľbe mien je vhodné vyvarovať sa rôznych divotvorných konštrukcií
a dodržiavať nasledujúce konvencie:
-
Mená, ktoré používa preprocesor pozostávajú len z veľkých písmen. K oddeleniu
jednotlivých významových zložiek mena sa používa podčiarovník.
PROGRAMM_VERSION
LINES_PRO_PAGE
-
Mená premenných a funkcií by mali začínať malým písmenom, k oddeleniu jednotlivých
významových zložiek mena je vhodné používať veľké písmená.
fileName tmpBuffer sort(stringArray)
counter fileSize addToFile()
-
Použitie dvoch podčiarovníkov alebo jedného podčiarovníka nasledovaného
veľkým písmenom na začiatku mena sa neodporúča. Takto označené mená používa
kompilátor pre označenie svojich interných mien a používanie takto označených
môže spôsobiť problémy napr. s platnosťou globálnych premenných mimo modul,
v ktorom boli definované.
Správne mená:
hello
toto_je_spravne_ale_aj_tak_nepouzitelne_meno
DEFINED
bAr
SeriovyTerminal
X
var0
Var0
CLASS
___
Syntakticky
správne, ale obmedzene použiteľné mená :
my__File
__Input__
__HEADER__
__main__
Nesprávne
mená :
012
a fool
$sys
class
3var
.name
if
***
4C_Trieda