Ko'rsatkichlar (Pointers)
Ko'rsatkich yaratish
Oldingi bobdan bilganingizdek, & operatori yordamida o'zgaruvchining xotira manzilini olish mumkin:
MISOL
cpp
string food = "Pizza"; // string turidagi food o'zgaruvchisi
cout << food; // food qiymatini chiqaradi (Pizza)
cout << &food; // food ning xotira manzilini chiqaradi (0x6dfed4)Ko'rsatkich (pointer) esa xotira manzilini qiymat sifatida saqlaydigan o'zgaruvchidir.
Ko'rsatkich o'zgaruvchisi ma'lumot turiga (masalan, int yoki string) ko'rsatadi va * operatori bilan yaratiladi:
MISOL
cpp
string food = "Pizza"; // string turidagi food o'zgaruvchisi
string* ptr = &food; // food ning manzilini saqlaydigan ko'rsatkich
// food qiymatini chiqarish (Pizza)
cout << food << "\n";
// food ning xotira manzilini chiqarish (0x6dfed4)
cout << &food << "\n";
// Ko'rsatkich orqali food ning xotira manzilini chiqarish (0x6dfed4)
cout << ptr << "\n";Tushuntirish
ptr nomli ko'rsatkich o'zgaruvchisi yaratildi, u string turiga ko'rsatadi (string* ptr). E'tibor bering: ko'rsatkich turi ishlayotgan o'zgaruvchingiz turiga mos kelishi kerak.
& operatori food o'zgaruvchisining xotira manzilini saqlaydi va ko'rsatkichga beradi. Endi ptr food ning xotira manzilini saqlaydi.
MA'LUMOT
Ko'rsatkich o'zgaruvchisini e'lon qilishning uchta usuli bor, lekin birinchi usul afzal ko'riladi:
cpp
string* mystring; // Afzal ko'riladi
string *mystring;
string * mystring;