Энергетика



Pdf көрінісі
бет5/23
Дата07.02.2022
өлшемі1,03 Mb.
#91462
түріПрограмма
1   2   3   4   5   6   7   8   9   ...   23
Байланысты:
is 1

 
type
 
& сілтеме_ аты инициализатор; 
Сол жақтағы мәні болатын инициализатор ретінде болуы міндетті, яғни 
жадыда орын алатын объектінің атауы болуы керек. Инициализацияны 


10 
анықтаудан кейін сілтеменің мәні сол объектінің адресі болады. Мысалы: 
int 
k=2; 
int
& ref=k; сілтемені анықтауда‘&’ символы типтің бөлігі болып 
табылмайды, яғни ref
int
 
типті және дәл осылай программада қабылдануы 
керек. 
Функциональді түрде сілтеме өзін-өзі қарапайым типті сияқты 
айнымалы ретінде ұстайды. Нұсқауыш үшін керек болатындай, сілтеме 
«қарайтын» жады бөлігінің мәнін иемдену үшін қайта атауды нақты
орындау қажет емес. 
Сілтеме айнымалы не көрсеткішке ұқсас толық құқылы объект емес. 
Инициализациядан кейін сілтеменің мәнін өзгертуге болмайды, ол әрқашан 
инициализациямен байланысқан жады бөлігіне «қарайды». Бір де бір 
операция сілтемеге әсер етпей, онымен байланысқан объектіге қатысты 
болады. Мұны сілтеменің негізгі қасиеті деп есептеуге болады. Сонымен, 
сілтеме толықтай бастапқы объект атымен бірдей. 
Анықталған болсын:
 
int
ar[]={1,2,3,4}; //ar - массив 
int 
*p=ar; //р - нұсқауыш 
int
& ref=ar[0]; //ref – массивтің бірінші элементіне сілтеме 
int
*& rp=ar; //нұсқауышқа сілтеме (массив атына) 
Келтірілген мысалдан сілтемелер мен нұсқауыштарға келесі теңдіктер 
орындалады:
p==&ref, *p==ref, rp==ar; ref== ar[0]. 
Сілтемеге Sizeof
 
операциясын қолдану нәтижесі оның өлшемі емес, 
онымен аталған объектінің өлшемі болып табылады. 
Сілтеме шын объект болмаған соң, сілтемені анықтауда және
қолдануда шектеулер бар. Біріншіден, сілтеме 
void


Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   23




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет