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

Co oznacza typ int&

Aruba Cloud - Virtual Private Server VPS
+1 głos
984 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 (280,450 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 (280,450 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,613 wizyt
pytanie zadane 2 kwietnia 2018 w C i C++ przez Hiskiel Pasjonat (22,830 p.)
0 głosów
1 odpowiedź 655 wizyt
pytanie zadane 9 października 2020 w C# przez Igorek Mądrala (6,290 p.)
0 głosów
1 odpowiedź 244 wizyt

93,327 zapytań

142,325 odpowiedzi

322,396 komentarzy

62,657 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

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...