• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Co oznacza typ int&

Object Storage Arubacloud
+1 głos
657 wizyt
pytanie zadane 29 października 2021 w C i C++ przez humus Nowicjusz (160 p.)

Dobry. Uczę się obiektowego programowania w c++ i spotkałem się z zapisem "int &" nie mam pojęcia co to za typ danych i do czego służy, przypomina  mi wskaźniki. 

Tutaj cały kod z kursu Cp00x:

class Klasa
{
    const int stala;
    int & ref;
   
public:
    Klasa()
        : /* Po dwukropku jawne wywołania konstruktorów oddzielone przecinkami. */ stala( 1 )
        , ref( stala ) //inicjalizacja
    {
    }
};

 

2
komentarz 29 października 2021 przez TOM_CPP Pasjonat (22,640 p.)

Kompilator nie skompiluje tego kodu, gdyż zawiera on istotny błąd.

Referencja do stałej zmiennej musi także być stała.

const int& ref;

 

1 odpowiedź

+1 głos
odpowiedź 29 października 2021 przez Wiciorny Ekspert (269,710 p.)

Zwraca odwołanie - referencje do int. Odniesienia są podobne do wskaźników, ale z pewnymi ważnymi rozróżnieniami. Polecam przeczytać o różnicach między wskaźnikiem, odwołaniami, obiektami i prymitywnymi typami danych.

"Effective C++" i "More Effective C++" (oba autorstwa Scotta Meyersa) mają kilka dobrych opisów różnic i kiedy używać wskaźników vs odniesień/ czasami też nazywane odwołanie.

EDIT: Istnieje wiele odpowiedzi mówiących w stylu "referencje są tylko syntactic sugar dla łatwiejszej obsługi wskaźników". 

Spójrz tutaj 

int a = 3;
int b = 4;
int* pointerToA = &a;
int* pointerToB = &b;
int* p = pointerToA;
p = pointerToB;
printf("%d %d %d\n", a, b, *p); // wypisze 3 4 4
int& referenceToA = a;
int& referenceToB = b;
int& r = referenceToA;
r = referenceToB;
printf("%d %d %d\n", a, b, r); // wypisze 4 4 4

 

1
komentarz 29 października 2021 przez humus Nowicjusz (160 p.)
Dzięki wielkie! Jesteś niesamowity.
1
komentarz 29 października 2021 przez Wiciorny Ekspert (269,710 p.)
co to, to nie w kwesti C/C++ niesamowici są tutaj inni zdecydowanie :D. Więc byłem szybszy, ale na pewno pozostała ekipa  by pomogła bo temat swoją drogą popularny

Podobne pytania

0 głosów
3 odpowiedzi 3,055 wizyt
pytanie zadane 2 kwietnia 2018 w C i C++ przez Hiskiel Pasjonat (22,830 p.)
0 głosów
1 odpowiedź 473 wizyt
pytanie zadane 9 października 2020 w C# przez Igorek Mądrala (6,290 p.)
0 głosów
1 odpowiedź 203 wizyt

92,555 zapytań

141,404 odpowiedzi

319,557 komentarzy

61,940 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...