Sobes.tech
Junior

გთხოვთ, აღწეროთ განსხვავებები რეფერენციისა და პოინტერის შორის C/C++ ენაში.

sobes.tech AI

პასუხი AI-სგან

Байланыш бар объект үчүн шилтеме катары каралууга мүмкүн; көрсөтүүчү объекттин эс тутум дарегин камтыйт.

Өзгөчөлүк Байланыш Көрсөткүч
Инициализация Жариялоо учурунда инициализациялануусу керек. Инициализацияланбашы мүмкүн.
Кайра белгилөө Инициализациядан кийин кайра белгилөө мүмкүн эмес. Башка объектке көрсөтө алат.
Нөл мааниси null болбойт. nullptr (C++11) же NULL (C/C++) болушу мүмкүн.
Масив индекси Түздөн-түз көрсөткүч арифметикасын колдобойт. Көрсөткүч арифметикасын колдойт.
Операторлор Түз колдонулат (. мүчөлөр үчүн). * менен чечмелөө, -> мүчөлөр үчүн.
Размер Өзүнүн өлчөмү жок, объекттин өлчөмүнө шилтеме кылат. Адресдин өлчөмүнө ылайык келет (жалпысынан 4 же 8 байт).
Жадым бөлүү Ачык бөлүү/босотуу талап кылынбайт. new/delete талап кылышы мүмкүн (C++-да).
Колдонуу Көп учурда функциялардын параметрлери катары өткөрүү үчүн колдонулат. Динамикалык жады бөлүү, төмөнкү деңгээлдеги кирүү үчүн.
// Байланыштын колдонуу мисалы
int x = 10;
int& ref = x; // ref - x үчүн шилтеме
ref = 20;     // x азыр 20

// Көрсөткүч колдонуу мисалы
int y = 30;
int* ptr = &y; // ptr yнин дарегине көрсөтөт
*ptr = 40;    // y азыр 40

// Көрсөткүч nullptr болушу мүмкүн
int* null_ptr = nullptr;