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;