104
Сыртқы блокта анықталып, программаның
ішкі блогында аты қайталана-
тын айнымалыны анықтаудан басқа барлық жағдайларда объектінің көріну
аймағы əрекет ету аймағымен бірдей болатынын еске салайық. Мұндайда
атауы қайталанатын сыртқы айнымалының əрекет ету аймағы ішкі блокқа
енгенімен, сыртқы айнымалы бұл блокта көрінбейді.
Осыған қарамастан,
сыртқы айнымалы ауқымды (глобалды) болса, оны көріну аймағына ену опе-
рациясын
::
қолдана отырып ішкі блокта пайдалануға болады. Жасырын
жергілікті (локалды) айнымалыны пайдалану тəсілі жоқ.
Əрбір əрекет ету аймағында атаулар кеңістіктерін айқын көрсетуге бола-
ды. Атаулар кеңістігі – идентификатор қайталанбай бірегей болуы тиіс аймақ.
Əртүрлі кеңістіктердегі атаулар бірдей болуы мүмкін,
себебі сілтемелерді
таңдау идентификатордың программадағы контекстіне байланысты жүзеге
асырылады, мысалы:
struct Node{
int Node;
int i;
}Node;
Мұнда ешқандай қайшылық жоқ, себебі типтің, айнымалының жəне
құрылым элементінің атаулары əртүрлі кеңістіктерге жатады. С++ тілінде
құрамындағы атаулар қайталанбауы тиіс төрт түрлі
идентификаторлар класы
анықталған:
□
Бір атаулар кеңістігіне айнымалылардың, функциялардың,
қолда
нушылар анықтаған типтердің (
typedef
) жəне тізбелер
тұрақтыларының (65 б. қараңыз) бір көріну
аймағындағы атаулары жа-
тады. Функция атауларынан басқасы кіріктірілген ішкі блоктарда қайта
анықталуы мүмкін.
□ Тізбелер типтерінің, құрылымдардың, кластардың жəне
бірік-
тірмелердің атаулары басқа бір атаулар кеңістігін құрайды. Бір
көріну аймағындағы əрбір атау басқа типтер атауларынан өзгеше бо-
луы керек.
□ Əрбір құрылым, класс жəне біріктірме элементтері жеке кеңістікті
құрайды. Элемент атауы құрылым ішінде қайталанбауы тиіс,
бірақ олар
басқа құрылымдар элементтерінің атауларымен бірдей болуы мүмкін.
□ Белгілер (label) жеке атаулар кеңістігін құрайды.
Достарыңызбен бөлісу: