C++ to potężny język programowania, który oferuje szeroką gamę aplikacji dla użytkowników. Ważnym aspektem języka programowania C ++ jest jego zdolność do obsługi identyfikacji typu wykonawczego. typeID należy do identyfikacji typu czasu wykonywania szeroko stosowanych w programach C ++.
Jeśli nie wiesz co typeID jest w C ++, postępuj zgodnie z wytycznymi tego artykułu.
Operator typu w C++
typeID jest wbudowanym operatorem w języku programowania C ++, który pozwala użytkownikom określić typ danych zmiennej w czasie wykonywania. Wartość zwrócona przez typeID jest typu „Typeinfo„, Który zawiera różne szczegóły dotyczące rodzaju obiektu. Jest to ważne w przypadkach, w których program musi wykonywać wiele operacji w oparciu o używane typ danych.
Składnia typuID
Składnia typeID Operator w C ++ jest następujący:
TypeID (typ)
Lub:
TypeID (exp)
typeID Operator w C ++ akceptuje jeden z tych dwóch parametrów.
Typ: Kiedy musimy znać typ czasu wykonywania zmiennej lub obiektu, dostarczamy argument typu wewnątrz typeID operator. W tym przypadku potrzebny jest tylko argument typu, a informacje typu wykonawczego zostaną zebrane bez dalszej oceny lub komputacji.
Wyrażenie: Gdy potrzebujemy szczegółów na temat wyrażenia w czasie wykonywania, parametr wyrażenia jest podany w obrębie typeID operator. Informacje o typu wykonawczym są pobierane po ocenie wyrażenia w tym parametrze.
Gdy używany z typeID, dostarcza informacji o typie odpowiadającym identyfikatorowi. W przypadku wyrażenia dostarcza informacji o dynamicznym typu obiektu.
Zastosowania operatora typu
typeID Operator może być używany w ten sposób.
1: Gdy operand działa jako zmienna obiektu
typeID Operator może być używany na operantach, gdy działają jako zmienna obiektu.
#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()
int i;
char ch;
float fl;
podwójne db;
const type_info i type_i = typeID (i);
const type_info i type_ch = typeID (ch);
const type_info i type_fl = typeID (fl);
const type_info i type_db = typeID (db);
Cout<<"Type of int i is: "<Cout<<"\nType of character ch is: "< Cout<<"\nType of float fl is: "< Cout<<"\nType of double db is: "< powrót 0;
W powyższym kodzie deklarujemy cztery różne zmienne, każda z osobnych typów danych. Następnie używamy typeID operator tych zmiennych i wydrukuj swoje typy danych za pomocą instrukcji Cout.
Wyjście
2: Gdy operand jest wyrazem
typeID Operator można również zastosować, gdy operand jest traktowany jako wyrażenie.
#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()
int i = 7;
char ch = „a”;
float fl = 42.4;
podwójne db = 4.279;
const type_info i type_a = typeID (i+ch);
const type_info i type_b = typeID (i*fl);
const type_info i type_c = typeID (db*fl);
const type_info i type_d = typeID (i+db);
Cout<<"expression i+ch : "<Cout<<"\nexpression i*fl : "< Cout<<"\nexpression db*fl : "< Cout<<"\nexpression i+db : "< powrót 0;
W powyższym kodzie inicjowanie czterech zmiennych różnych typów danych. Następnie oceniamy niektóre wyrażenia i obliczamy ich typ za pomocą C++ typeID() Operator.
Wyjście
Zalety i wady typu w C++
typeID jest przydatny podczas pisania kodu, który działa z obiektami, które nie są znane do czasu wykonywania. Załóżmy na przykład, że funkcja przyjmuje wskaźnik pustki jako parametr. Może użyć typeID Aby ustalić, czy wskaźnik jest do INT, czy podwójnego, co może znacząco wpłynąć na sposób działania funkcji.
Oprócz nazwy typu, „typeinfo„Obiekt podaje również różne inne szczegóły dotyczące tego typu. Obejmują one:
typeID jest również pomocny w radzeniu sobie z szablonami i funkcjami, które przyjmują zmienną liczbę argumentów. Korzystając z „typeID„Operator, możesz podjąć działania specyficzne dla typu w czasie wykonywania, takie jak wybór odpowiedniego szablonu lub funkcji do użycia.
Jedna możliwa wada typeID jest to, że jest to nieco powolne. Jest zazwyczaj wolniejszy niż inne typy sprawdzania typu, takie jak parametry szablonu lub kontrole typu czasu kompilacji, ponieważ analizuje typ obiektu w czasie wykonywania.
Wniosek
„„typeID”Operator w C ++ dostarcza cennych informacji o danych zmiennej lub obiektu. Umożliwia programistom wykonywanie działań specyficznych dla typu w czasie wykonywania i może być używany, gdy operand działa jako zmienna lub gdy operand jest wyrażeniem.