You are on page 1of 7

Содржина

Референци во С++ (&) ................................................................................................................................. 1


Мемориски адреси ..................................................................................................................................... 2
Покажувачи во С/С++ .................................................................................................................................. 3

Референци во С++ (&)

Променлива од тип референца е „референца“ кон постоечка променлива, и таа се креира


со & операторот.

string food = "Pizza"; // food variable


string &meal = food; // reference to food

Сега, можеме да ја користиме или променливата со име храна или референцата со име
оброк за да се поврземе со променливата храна:
Пример:

string food = "Pizza";


string &meal = food;

cout << food << "\n"; // Outputs Pizza


cout << meal << "\n"; // Outputs Pizza

Кога променливата е декларирана како референца, таа станува алтернативно


име за постоечката варијабла.

#include <iostream>
using namespace std;

int main()
{
int x = 10;

// ref is a reference to x.
int& ref = x;

// Value of x is now changed to 20


ref = 20;
cout << "x = " << x << '\n';
// Value of x is now changed to 30
x = 30;
cout << "ref = " << ref << '\n';

return 0;
}
Output:
x = 20
ref = 30
Пример: Замена на вредностите на две променливи.
#include <iostream>
using namespace std;

void swap(int& first, int& second)


{
int temp = first;
first = second;
second = temp;
}

int main()
{
int a = 2, b = 3;
swap(a, b);
cout << a << " " << b;
return 0;
}
Output:
3 2

Мемориски адреси

Во примерот од претходната лекција, операторот & беше користен за креирање на

референтна променлива. Но, исто така може да се користи за да се добие мемориската

адреса на променливата, која е локацијата каде што променливата е зачувана во

компјутерот.

Кога се креира променлива во C++, на променливата и се доделува мемориска адреса.

Кога ќе доделиме вредност на променливата, таа се чува во оваа мемориска адреса.


За да пристапите до неа, користете го операторот & и резултатот ќе претставува каде е

зачувана променливата:

Пример:
string food = "Pizza";

cout << &food; // Outputs 0x6dfed4

Забелешка: Мемориската адреса е во хексадецимаклен код.

И зошто е корисно да се знае адресата на меморијата?

Референците и Покажувачите (за кои ќе дознаете во следното поглавје) се важни во C++,

бидејќи тие ви даваат можност да манипулирате со податоците во меморијата на

компјутерот - што може да го намали кодот и да ги подобри перформансите.

Овие две карактеристики се една од работите што го прават C++ да се издвојува од

другите програмски јазици, како Python и Java.

Покажувачи во С/С++

Покажувачи се варијабли кои ја чуваат адресата на друга варијабла.


https://www.youtube.com/watch?v=zuegQmMdy8M&t=13s
Да видиме како ќе изгледа ова во реален код.
Со следниот код ќе ја промениме вредноста во променливата а користејќи го покажувачот
р.

Аритметички операции со поинтер

Со зголемување на р за 1, адресата на која ќе покажува се зголемува за 4 бајти затоа што


ова е покажувач на integer, а големината на integer варијаблата е 4B.
Ако р го зголемиме за 2, адресата ќе се зголеми за 8.

Покажувач на карактер – char

C Pointers: Character Pointers | Must Watch - Bing video

You might also like