Odniesienia do wskazówek w C ++

Odniesienia do wskazówek w C ++

W C ++ istnieją dwa sposoby dostępu do lokalizacji pamięci lub zarządzania nimi. Pierwszy to użycie Bibliografia i drugi za pomocą Wskaźniki. Obydwa Bibliografia I Wskaźniki Pozwól nam unikać powielania danych, zapobieganie niepotrzebnej alokacji pamięci lub defaktycznej i osiągnięcia lepszej wydajności. Ale sposób, w jaki to robią, jest inny. Obydwa odniesienie I wskaźnik są podstawowymi funkcjami, które są szeroko wykorzystywane do dostępu i manipulowania danymi. Jednak w przeciwieństwie do ich pozornych podobieństw, każdy z nich ma charakterystyczne atrybuty, które czynią je preferowanymi w różnych okolicznościach.

W tym artykule przedstawiono porównanie między Bibliografia I Wskaźniki w c++.

Odniesienie w c++

A odniesienie W C ++ jest aliasem lub alternatywną nazwą istniejącej zmiennej. Po założeniu, odniesienie jest traktowany tak, jakby była ta sama zmienna, a każda zmiana dokonana na odniesienie wpływa również na odpowiednią zmienną. Bibliografia nie może wskazywać na NULL, a ich wartości nie można zmienić po inicjalizacji.

#włączać
za pomocą przestrzeni nazw Std;
int main ()
int i = 7;
int & r = i;
Cout << "Value of i : " << i << endl;
Cout << "Value of i reference : " << r << endl;
powrót 0;


W powyższym kodzie inicjowanie liczby całkowitej I z wartością 7 i jej liczbą całkowitą odniesienie jest tworzony i drukowany za pomocą instrukcji Cout.

Wyjście

Wskaźniki w c++

Wskaźniki, Z drugiej strony są zmienne, które przechowują adres pamięci innej zmiennej. Umożliwiają pośredni dostęp do lokalizacji pamięci i zapewniają możliwość dynamicznego alokacji i rozpatrywania pamięci. w odróżnieniu Bibliografia, Wskaźniki może być zerowe i może wskazywać na różne lokalizacje na podstawie ich wartości.

#włączać
za pomocą przestrzeni nazw Std;
int main ()
int var = 5;
int *ip;
IP = &var;
Cout << "Value of var variable: ";
Cout << var << endl;
Cout << "Address stored in ip variable: ";
Cout << ip << endl;
Cout << "Value of *ip variable: ";
Cout << *ip << endl;
powrót 0;


W powyższym kodzie inicjowanie int var z wartością 5 i a wskaźnik jest utworzony i wskazany na zmienną var. Wartość, adres i wartość wskaźnik Następnie są drukowane na ekranie.

Wyjście

REFERENCJE vs. Wskaźniki w c++

Oto różnice między Bibliografia I Wskaźniki w c++.

1: Składnia

Bibliografia Zapewnij czystszą składnię, eliminując potrzebę operatora dereferencyjnego (takiego jak * lub ->). Ponadto, ponieważ gwarantuje, że nie są werlowe, zmniejszają ryzyko błędów segmentacji, co występuje wspólny błąd, gdy próbuje uzyskać dostęp do nieprawidłowej lokalizacji pamięci za pomocą null wskaźnik.

2: Wszechstronność

Wskaźniki są bardziej wszechstronne i elastyczne niż Bibliografia. Są one szeroko stosowane w E.G., Dynamiczna alokacja pamięci lub manipulacja pamięcią, takie jak wskaźnik arytmetyka. Wskaźniki są również konieczne przy tworzeniu złożonych struktur danych, takich jak powiązane listy, drzewa lub wykresy, w których jeden węzeł musi wskazywać na inny węzeł.

3: Elastyczność

w odróżnieniu Bibliografia, Wskaźniki może zostać przeniesione, aby wskazać inny obiekt, a nawet ustawić na NULL. Ta elastyczność pozwala na dynamiczną przydział pamięci, która jest często potrzebna w złożonych programach. Wskaźniki może być również używane do śledzenia użycia pamięci, wdrażania struktur danych i przekazywania wartości przez odniesienie, między innymi.

4: Funkcje

Kolejną kluczową różnicą jest sposób, w jaki Bibliografia I Wskaźniki są przekazywane do funkcji. Mijanie odniesienie umożliwia funkcji bezpośrednio modyfikowania oryginalnej zmiennej bez tworzenia nowej kopii zmiennej. W przeciwieństwie do tego, mijanie wskaźnik tworzy nową kopię wskaźnik, nie oryginalna zmienna, potencjalnie zwiększając zużycie pamięci programu. Z drugiej strony, mijając wskaźnik zapewnia możliwość modyfikacji wskaźnik, co jest niemożliwe podczas mijania odniesienie.

5: Bezpieczeństwo

Bibliografia są często postrzegane jako bezpieczniejsza opcja ze względu na ich ograniczenia. Nie pozwalają na wycieki pamięci lub wiszące wskaźniki, które mogą być powszechnymi problemami podczas korzystania Wskaźniki. Jednak w niektórych przypadkach konieczne są wskazówki, ponieważ pozwalają na większą elastyczność.

Wniosek

Obydwa Bibliografia I Wskaźniki mają unikalne funkcje, które sprawiają, że są one preferowane w określonych okolicznościach. Bibliografia są przydatne do prostych manipulacji danymi i oferują czystszą składnię, a Wskaźniki są bardziej wszechstronne i niezbędne do dynamicznego alokacji pamięci, manipulacji pamięcią i złożonego tworzenia struktury danych. Zrozumienie odpowiedniego zastosowania i ograniczeń każdego formularza jest niezbędne do opracowania solidnego i wydajnego kodu.