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

Referencje a wskaźniki

VPS Starter Arubacloud
0 głosów
260 wizyt
pytanie zadane 16 lutego 2016 w C i C++ przez Exus Początkujący (420 p.)
Witam.

Zagłębiając się w naukę o "mutexach" i wielowątkowości napotkałem się na przypisywanie zmiennej za pomocą operatora "&" czyli referencję. Czytając o tym na wikibooks dowiedziałem się że referencje są dopiero w C++ a w C ich nie było. Wskaźniki zmniejszają czas dostępu do wartości np. zmiennej i mają tą przewagę że można zmieniać ich adres i tu nasuwa się moje pytanie. Jak to jest z referencjami? One też zmniejszają czas dostępu do zmiennej czy są tylko "kopiami" innych zmiennych?

2 odpowiedzi

+1 głos
odpowiedź 16 lutego 2016 przez Patrycjerz Mędrzec (192,340 p.)
Referencje to stałe wskaźniki (czyli o stałym adresie), które mają ukrytą dereferencję, to znaczy, że można z nich korzystać tak samo, jak z normalnych zmiennych, bez używania różnorakich operatorów.
komentarz 16 lutego 2016 przez Exus Początkujący (420 p.)
To wiem. Ale jest jakaś różnica w używaniu wskaźników a referencji? Ma to jakikolwiek wpływ na wydajność?
komentarz 16 lutego 2016 przez Patrycjerz Mędrzec (192,340 p.)
Najprawdopodobniej nie - z tego, co mi wiadomo, referencję są skonstruowane na bazie wskaźników, więc wydajność powinna być ta sama.
komentarz 17 lutego 2016 przez draghan VIP (106,230 p.)
No i masz rację, Patrycjerz.

A co do tego, że referencji nie było w C, to już jpacanowski podał poprawną odpowiedź.
0 głosów
odpowiedź 16 lutego 2016 przez jpacanowski VIP (101,940 p.)

W języku C, jest to operator wyłuskiwania adresu zmiennej.

#include <stdio.h>
#include <stdlib.h>

int main()
{
     int x = 35;

     printf("Wartosc zmiennej x: %d\n", x);
     printf("Adres zmiennej x: %d\n", &x);

     return 0;
}

Podobne pytania

0 głosów
3 odpowiedzi 549 wizyt
pytanie zadane 6 listopada 2015 w C i C++ przez Rivi Początkujący (320 p.)
0 głosów
0 odpowiedzi 161 wizyt
pytanie zadane 15 marca 2016 w C i C++ przez falauthy Stary wyjadacz (11,550 p.)
0 głosów
0 odpowiedzi 694 wizyt

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...