C ++ deklaracja

C ++ deklaracja
„Wnioskowanie typu to automatyczne określenie typu danych instrukcji w języku komputerowym. Możliwe wartości wyrażenia w czasie wykonywania zostały ograniczone przez ręczną deklarację każdego typu danych przed C ++ 11. Jeśli możemy użyć wnioskowania typu, możemy napisać mniej kodu, aby wyrazić coś, co kompilator już rozumie. Chociaż czas kompilacji znacznie wzrasta, ponieważ wszystkie typy są określane tylko podczas fazy kompilatora, czas wykonywania programu nie ma wpływu. W tym miejscu omówimy odrzucanie słów kluczowych C ++ i jego funkcjonalność."

Co to jest dektyp w c++

Patrzy na typ istoty lub wyrażenia. Deklaracja jest rodzajem operatora, który analizuje rodzaj danego wyrażenia, w przeciwieństwie do „auto”, który pozwala zdefiniować zmienną z określonym typem, ale pozwala odzyskać typ ze zmiennej. Informacje o typach są dostarczane przez deklaracje podczas kompilacji i przez typeID podczas wykonywania. W rezultacie, jeśli obiekt klas pochodnej ma odniesienie klasy podstawowej lub wskaźnik wskazujący na nią, TypeID dostarczy odniesienie typu lub wskaźnik, a nie typ, który będzie dostarczany przez deklaracje.

Gdy konieczne jest znanie dynamicznego typu obiektu, używany jest typ operatora. Jednak faktyczna zwrócona nazwa jest nieco zależna od kompilatora.

Ogólna składnia C ++ przewiduje, że odrzucanie jest następujące:

Składnia:

Deklaracja (wyrażenie)

Deklaracja przyjmuje tylko jeden parametr, który jest wyrażeniem. Odrzucanie zwraca typ parametru wyrażenia. Korzystając z następujących wytycznych, kompilator zależy od rodzaju parametru wyrażenia.

  • Gdy parametr wyrażenia jest dostępem do elementu klasy lub identyfikatora, typem obiektu zidentyfikowanego przez wyrażenie jest odkładanie (wyrażenie). Jeśli taki obiekt nie istnieje lub jeśli argument wyrażenia określa grupę przeciążonych funkcji, kompilator wydaje komunikat o błędzie.
  • Jeśli wyrażenie wejściowe wywołuje metodę lub funkcję operatora z wieloma przeciążeniami, typem zwracania danej funkcji jest odkładanie (wyrażenie).

Przykład 1

Wdrożenie powyższej dyskusji jest podawane przez kod deklotyczny. Ponieważ więcej niż jedna zmienna, funkcja, klasa itp., nie może mieć tej samej nazwy w identycznym zakresie. Przestrzeń nazw została zatem wprowadzona w celu rozwiązania tego problemu. Następnie ustaliliśmy funkcję „MY_FUNC1”, która zwraca wartość liczb całkowitą „5”, ponieważ początkowo określiliśmy typ danych INT do funkcji „MY_FUNC1”.

Ponownie ustanowiliśmy funkcję jako „my_func2” i przypisaliśmy do niej typ Char Data. Ta funkcja zwraca wartość znaku „i”. Następnie skonstruowaliśmy program Int Main (), w którym wdrożyliśmy modyfikator odkładania. Modyfikator deklaracji przyjmuje odpowiednio „my_func1” i „my_func2”. Do deklotyzacji zdefiniowaliśmy również dwie zmienne jako „a” i „b”.

Zmienne „A” i „B” mają takie same typy danych, jak typ zwrotu „my_func1” i „my_func2”. Następnie mamy instrukcję Cout, w którym typeID przyjmuje zmienne „a” i „b” jako dane wejściowe i zwróci typ tych zmiennych.

#włączać
za pomocą przestrzeni nazw Std;
int my_func1 () return 5;
char my_func2 () return 'l';
int main ()

DectType (my_func1 ()) a;
DectType (my_func2 ()) b;
Cout<Cout<powrót 0;

Ponieważ typ „my_func1” jest int, a „my_func2” to char. Tak więc, w wyjściu, zwracany jest typ „i” i „c”, co wskazuje na typ int i char.

Przykład 2

Jedna dodatkowa ilustracja użycia deklotyzacji znajduje się poniżej, co jest nieco inne niż poprzednie. Bezpośrednio skonstruowaliśmy główny () tego konkretnego programu po sekcji nagłówka. Wewnątrz programu int main () zadeklarowaliśmy zmienną „NUM” i przypisaliśmy do niej numer „10”. Następnie nazywaliśmy modyfikatorem odrzutowego, który przyjmuje zmienną „NUM” jako parametr. W przypadku modyfikatora deklaracji ustawiliśmy również zmienną „i”, która ma typ Int tak samo jak typ zmiennej „NUM”.

Następnie dodaliśmy NUM i liczbę „10” za pomocą operatora plus wewnątrz zmiennej „I”. Następnie mamy polecenie cout, w którym wywoływany jest typeID, który przyjmuje zmienną „i” jako wejście i zapewnia jej typ.

#włączać
za pomocą przestrzeni nazw Std;
int main ()

int num = 10;
DectType (num) i = num + 10;
Cout<< "decltype : " <powrót 0;

W miarę podania typu INT do zmiennej „NUM” w powyższym fragmencie kodu. Wyjście wyświetla słowo „i”, które jest wartością INT typu zmiennej „NUM”.

Przykład 3

Minimalne liczby są zwracane metodą szablonu C ++ Min Type (), co widać poniżej. Dowolny typ integralny może być używany dla dwóch liczb. Minimalny typ dwóch jest używany do określenia typu powrotu.

Z automatycznym modyfikatorem utworzyliśmy funkcję SearchMin () i przekazaliśmy zmienne x i y jako parametr w nim. Następnie przypisaliśmy nazwy zmiennych do słowa kluczowego. Deklaracja przyjmuje zmienną z wyrażeniem warunkowym. Funkcja wyszukuje minimalną wartość i zwraca typ zmiennej, która ma minimalną wartość. Następnie, w Int main (), przekazaliśmy wartość funkcji SEATCHMIN za pośrednictwem polecenia Cout.

#włączać
za pomocą przestrzeni nazw Std;
szablon
Auto Searchmin (T1 X, T2 Y) -> Deklaracja (x < y ? x : y)

powrót (x < y) ? x: y;

int main ()

Cout<Cout<powrót 0;

Wyjście wyświetliło minimalne wartości poniżej. Jak z pierwszego oświadczenia wyszukiwania, 4.55 jest zwracane z typu podwójnego. Następnie drugie stwierdzenie 2 jest uzyskiwane z typu danych INT.

Wniosek

To wszystko o deklaracji C ++. Omówiliśmy to krótko z definicją, jej składnią i jej funkcjonalnością w tym konkretnym artykule. Tutaj pokazaliśmy, że deklaracja działająca z uruchamiającym przykładowym kodem w c++. Wszystkie instancje różnią się od siebie. Wszystkie przypadki różnią się od siebie. Skrypt deklotyczny z prefiksem automatycznym pokazano w ostatnim przykładzie. Słowo kluczowe oddukania typu automatycznego, Auto, jest używane w C ++ 11 i później.