Składnia operatora sizeof () w c++
Poniżej opisano składnię operatora sizeof ():
# sizeof (nazwa data_type);Gdy jest używana z pierwszym typem obiektu, funkcja sizeof () wyświetla rozmiar obiektu w bajtach dla typu wysyłanego obiektu. Rozmiar elementu, który jest w rodzaju wyrażenia, mierzony w bajtach, jest drugim typem. Po ocenie wyrażenia rozmiar pozostaje taki sam.
Przykład 1:
Kiedy typy danych, takie jak int, float, char itp. są używane z operatorem sizeof (), funkcja podaje jedynie ilość pamięci RAM, która jest przydzielona temu konkretnemu typowi danych.
#włączaćKorzystając z operatora sizeof () z poleceniem Cout, oceniamy rozmiar wbudowanych typów danych we wspomnianej aplikacji. Jak widać na następujących wyjściach, operacja sizeof () daje tę samą odpowiedź, jak moglibyśmy się spodziewać, biorąc pod uwagę naszą wiedzę o wielkości bajtów INT, Float, Double i Char.
Przykład 2:
Program, gdy typ klasy jest operowany, używa operatora sizeof (). Oto ilustracja:
#włączaćZ tylko jedną zmienną liczbową „x” w klasie „MyBase_class” i wyżej wymienionej metody skryptu, oceniamy rozmiar klasy. Najpierw nazywamy daną klasę i tworzymy jej obiekt jako „y”. Następnie mamy operator sizeof (), który przyjmuje „y” jako dane wejściowe. Zmienne liczb całkowitych zajmują 4 bajty, więc wynik wynosi 4 bajty, jak wydrukowano w następujący sposób:
Przykład 3:
Jeśli zwiększymy liczbę zmiennych całkowitych w klasie, powstaje następujący kod:
#włączaćW poprzednim kodzie jest teraz druga zmienna całkowitą „J”. Biorąc pod uwagę, że zmienna intensywna zajmuje 4 bajty i istnieją dwie zmienne liczb całkowitych jako „i” i „j”, klasa „myClass_base” w tym scenariusz.
Przykład 4:
Kod może przypominać następujące czynności, jeśli uwzględnimy zmienną char:
#włączaćW poprzednim kodzie klasy „MyClass” używane są dwie liczby całkowitej i jedna zmienna char. Rozmiar klasy powinien wynosić 9 bajtów, ponieważ istnieją trzy typy danych (int+int+char) zgodnie z naszymi obliczeniami. Ale jest to nieprawidłowe ze względu na ideę wyściółki struktury. Możesz zobaczyć następującą wartość wyniku:
Przykład 5:
Przypadek, w którym operand jest tablicą. Rzućmy okiem na implementację programu:
#włączaćUstanowiliśmy tablicę typu liczb całkowitych jako „ARR_SET” z pięcioma elementami w poprzednim programie. Określiliśmy rozmiar tablicy za pomocą operatora sizeof (). Tablica ma wielkość 20 bajtów, ponieważ typ danych INT zajmuje 4 bajty, a w tablicy znajduje. Jak widać przy następujących wyjściach, operacja sizeof () wytworzyła ten sam wynik.
Przykład 6:
Przykład ma już rozmiar tablicy. Rozważmy tablicę z określonej perspektywy.
#włączaćPróbowaliśmy skorzystać z funkcji „new_function” we wspomnianej aplikacji do wydrukowania rozmiaru tablicy. W tym przypadku utworzyliśmy tablicę typu liczb całkowitych i wysyłamy parametr „tablica” do new_function (). Rozmiar wskaźnika liczb całkowitych lub int* jest zwracany przez new_function (). W 64-bitowych systemach operacyjnych rozmiar int* wynosi 8 bajtów. Wyjście generuje rozmiar tablicy w następujący sposób:
Przykład 7:
Teraz jest to przykład, w którym argument jest typem wskaźnika wewnątrz operatora sizeof ().
#włączaćObliczyliśmy rozmiar wskaźników w skrypcie wspomnianym wcześniej. W przypadku typów danych „INT”, „Double” i „char” rozmiary wskaźników pozostają stałe. Rozmiar wskaźnika wynosi 4 bajty, jeśli komputer miał 32-bitowy system operacyjny. Rozmiar wskaźnika wynosi 8 bajtów, jeśli komputer uruchomi 64-bitowy system operacyjny. Wynik to 8 bajtów, gdy wykonujemy ten skrypt na 64-bitowej platformie. Teraz, jeśli podamy wskaźnik symbol „*”, wyjście zmienia się w zależności od typu danych. Na przykład, jeśli *PTR1 jest typem liczb całkowitych, operator sizeof () podaje 4 bajty, ponieważ typ danych INT zajmuje 4 bajty. Poniżej znajduje się wynikowy rozmiar wskaźników odpowiadających każdemu określonemu typowi danych:
Przykład 8:
Przykład, w którym mamy wyrażenie jako operator sizeof ().
#włączaćMamy dwie zmienne, odpowiednio Integer_1 i Integer_2, odpowiednio typów int i podwójnych. Są one zadeklarowane w programie. Jak wiemy, liczby całkowite mają 4 bajty, a podwójne są 8 bajtów. Dodaliśmy oba w operatorze sizeof (). Zmienna, podwójna z rozmiarem 8-bajtowym, jest wynikiem.
Wniosek
Wyjaśnienie sizeof () dla C ++ kończy się tutaj. Przekroczyliśmy szczegółowe informacje na temat działania operatora C ++ sizeof (), wraz z odpowiednimi przykładami. Dowolny typ danych, wyrażenie, tablica itp. może mieć określony rozmiar za pomocą operatora sizeof (). Typ danych lub wyrażenie należy podać jako część argumentu. A funkcja zwraca rozmiar tego typu danych w bajtach.