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.