Twoje Centrum Szkoleniowe

Nauczmy się dziś czegoś nowego!

Kurs programowania - C++

C++: Referencje

Referencja w C++ jest to specjalny typ zmiennej, który w swoim działaniu przypomina wskaźniki. Główna różnica polega na tym, że do referencji można przypisać adres tylko raz, a jej dalsze używanie niczym się nie różni od używania zwykłej zmiennej. Operacje, które wykonasz na zmiennej referencyjnej, zostaną odzwierciedlone na zmiennej zwykłej, z której pobrano adres. Można by pokusić się o stwierdzenie, że referencja jest inną nazwą danej zmiennej.

 

Referencje są deklarowane za pomocą znaku & bezpośrednio przed nazwą zmiennej. Na przykład:

int x = 10;
int& ref = x;

W tym przykładzie zmienna x ma typ int. Zmienna ref jest referencją do zmiennej x. Typ zmiennej ref jest określony przez operator &, który oznacza "referencja do".

 

Referencje mogą być używane do:

  • Przekazywania argumentów funkcji przez referencję. Pozwala to uniknąć kopiowania dużych obiektów w czasie wywoływania funkcji.
  • Zwracania wartości z funkcji przez referencję. Pozwala to uniknąć kopiowania dużych obiektów w czasie zwracania wartości z funkcji.
  • Dostępu do pól obiektu.

 

 

Przykład wykorzystania referencji
#include <iostream>

int main() {
    int zmienna = 10;
    int &ref = zmienna;

    ref = 20;
    std::cout << "Wartość zmiennej: " << zmienna << std::endl;
    return 0;
}

 

Analiza Kodu:

  • int zmienna = 10; tworzy zmienną o wartości 10.
  • int &ref = zmienna; inicjalizuje referencję ref, która wskazuje na zmienną zmienna.
  • ref = 20; zmienia wartość zmiennej zmienna za pośrednictwem referencji ref.
  • std::cout << "Wartość zmiennej: " << zmienna << std::endl; wypisuje zmienioną wartość zmiennej zmienna, czyli 20.

 

Przekazywanie referencji do funkcji

Referencje są często wykorzystywane do przekazywania zmiennych do funkcji w taki sposób, aby funkcja mogła modyfikować ich wartość bez używania wskaźników.

#include <iostream>

void zmienWartosc(int &ref) {
    ref = 30;
}

int main() {
    int zmienna = 10;
    zmienWartosc(zmienna);
    std::cout << "Nowa wartość zmiennej: " << zmienna << std::endl;
    return 0;
}

 

Analiza Kodu:

  1. #include <iostream>:

    • Ta linia kodu włącza bibliotekę standardową I/O w C++, która jest potrzebna do obsługi wejścia i wyjścia, w tym używania obiektów std::cout do wypisywania danych na ekran.
  2. Definicja funkcji zmienWartosc:

    • void zmienWartosc(int &ref):
      • Ta linia definiuje funkcję zmienWartosc, która przyjmuje jeden argument - referencję do zmiennej typu int. Kluczowe jest tutaj użycie znaku &, który oznacza, że ref jest referencją.
    • ref = 30:
      • Wewnątrz funkcji, wartość zmiennej przekazanej przez referencję (ref) jest zmieniana na 30.
  3. Definicja funkcji main:

    • int main() { ... }:
      • Główna funkcja programu, z której rozpoczyna się wykonanie każdego programu w C++.
  4. Deklaracja zmiennej i przypisanie jej wartości:

    • int zmienna = 10:
      • Deklaruje zmienną zmienna typu int i inicjalizuje ją wartością 10.
  5. Wywołanie funkcji zmienWartosc:

    • zmienWartosc(zmienna):
      • Ta linia kodu wywołuje funkcję zmienWartosc, przekazując do niej zmienną zmienna jako argument. Ponieważ zmienWartosc przyjmuje referencję, każda zmiana wartości ref wewnątrz funkcji bezpośrednio wpływa na zmienna.
  6. Wypisanie zmodyfikowanej wartości zmiennej:

    • std::cout << "Nowa wartość zmiennej: " << zmienna << std::endl:
      • Wypisuje na ekranie nową wartość zmiennej zmienna, która została zmieniona przez funkcję zmienWartosc. W tym momencie, zmienna ma wartość 30.
  7. Zakończenie funkcji main:

    • return 0:
      • Zwraca 0, sygnalizując pomyślne zakończenie programu.

 

 

Testy przypięte do lekcji
Aby uzyskać dostęp do testów i ćwiczeń interaktywnych - Zaloguj się
Aby widzieć ocenę lekcji - Zaloguj się