Union

2016-06-21 23:55
Jacek Labudda
												union jest pojemnikiem na dane podobnym do struct. Z tym, że union może przechowywać informacje tylko o jednej zmiennej.
Nie ważne ile zmiennych zadeklarujemy w naszej unii, wszystkie będą miały tą samą wartość, ponieważ są zaalokowane w jednym obszarze pamięci.
Spójrz na przykład:
#include <iostream> using namespace std; union Unia{ //deklaracja unii int a, b; }; int main(){ Unia unia; //nowy obiekt typu Unia unia.a = 7; //zmiana wartosci zmiennej a cout << unia.a << " " << unia.b << endl; unia.b = 21; //zmiana wartosci zmiennej b cout << unia.a << " " << unia.b << endl; return 0; }
Wynik: 7 7 21 21 Rozmiar unii zależy od największego zadeklarowanego jej elementu.
#include <iostream> using namespace std; union UniaA{ int a; //4B }; union UniaB{ int a; //4B double b; //8B }; int main(){ cout << "Wielkosc pierwszej unii: " << sizeof(UniaA) << endl; cout << "Wielkosc drugiej unii: " << sizeof(UniaB) << endl; return 0; }
Wynik: Wielkosc pierwszej unii: 4 Wielkosc drugiej unii: 8 W uniach możemy również stosować modyfikatory dostępu.

Użytkownicy
Logowanie:
Zaloguj
Polub nas na facebooku
Wyszukiwanie na stronie