Ten artykuł wprowadzi Cię w kolejny interesujący temat, jakim jest konwersja typów C ++ i postępuj zgodnie ze szczegółową praktyczną demonstracją. Poniższe wskazówki zostaną omówione w tym artykule,
- Konwersja typów w C ++
- Niejawna konwersja typów
- Jawna konwersja typu
- Konwersja przez przypisanie
- Konwersja przy użyciu operatora Cast
Konwersja typów w C ++
Konwersja typu odnosi się do konwersji z jednego typu na inny. Główną ideą konwersji typu jest uczynienie zmiennej jednego typu zgodną ze zmienną innego typu w celu wykonania operacji. Na przykład, aby znaleźć sumę dwóch zmiennych, jednej typu int i drugiej typu float. Musisz więc wpisać zmienną cast int do float, aby oba były typu float do znalezienia sumy. Na tym blogu dowiemy się, jak wykonać konwersję typów w C ++.
W C ++ istnieją dwa typy konwersji typów, tj. Niejawna konwersja typów i jawna konwersja typów.
Niejawna konwersja typów
Niejawna konwersja typów lub automatyczna konwersja typów jest wykonywana przez kompilator samodzielnie. Nie ma zewnętrznego wyzwalacza wymaganego przez użytkownika do rzutowania zmiennej z jednego typu na inny.
Dzieje się tak, gdy wyrażenie zawiera zmienne więcej niż jednego typu. Tak więc w tych scenariuszach ma miejsce automatyczna konwersja typów, aby uniknąć utraty danych.W przypadku automatycznej konwersji typów wszystkie typy danych obecne w wyrażeniu są konwertowane na typ danych zmiennej o największym typie danych.
Poniżej znajduje się kolejność automatycznej konwersji typu. Możesz również powiedzieć, od najmniejszego do największego typu danych do konwersji typu.
bool -> char -> short int -> int -> unsigned int -> long -> unsigned -> long long -> float -> double -> long double
Niejawne konwersje mogą spowodować utratę informacji, takich jak znaki, mogą zostać utracone, gdy typ podpisany jest niejawnie konwertowany na typ bez znaku i może wystąpić przepełnienie, gdy long jest niejawnie konwertowany na zmiennoprzecinkowy.
Spójrzmy teraz na przykład, aby zrozumieć, jak działa niejawna konwersja typów w C ++.
Przykład
#include using namespace std int main () 12w {int int1 = 100 // integer int1 char char1 = 'c' // znak char1 // char1 niejawnie konwertowany na int przy użyciu wartości ASCII 'c' tj. 99 int1 = int1 + char1 // int1 jest niejawnie konwertowane na float float flt1 = int1 + 2.7 cout<< 'int1 = ' << int1 << endl << 'char1 = ' << char1 << endl << 'flt1 = ' << flt1 << endl return 0 }
Wynik
int1 = 199
jak używać iteratora java
char1 = c
flt1 = 201,7
Następnie w tej konwersji typu w artykule C ++,
Jawna konwersja typu
Jawna konwersja typu lub rzutowanie typu jest konwersją typu zdefiniowanego przez użytkownika. W jawnej konwersji typu użytkownik konwertuje jeden typ zmiennej na inny typ. Jawną konwersję typów można przeprowadzić na dwa sposoby w C ++:
- Konwersja przez przypisanie
- Konwersja przy użyciu operatora Cast
Teraz spójrzmy na każdy ze sposobów jawnego rzutowania jednego typu na inny.
Konwersja przez przypisanie
W tej konwersji typu wymagany typ jest jawnie zdefiniowany przed wyrażeniem w nawiasach. Utrata danych ma miejsce w rzutowaniu typu jawnego. Uważa się, że rzucanie jest mocne. Spójrzmy na przykład.
co to jest przeglądarka sqlite
Przykład
#include using namespace std int main () {double dbl1 = 8.9 // Jawna konwersja z double do int int res = (int) dbl1 + 1 cout<< 'Result = ' << res return 0 }
Wynik
Wynik = 9
Następnie w tej konwersji typu w artykule C ++,
Konwersja przy użyciu operatora rzutowania
Operator rzutowania jest operatorem jednoargumentowym, który wymusza konwersję jednego typu danych na inny typ danych. Istnieją cztery typy rzutowania w C ++, tj. Rzutowanie statyczne, rzutowanie dynamiczne, rzutowanie stałe i rzutowanie reinterpretacyjne.
- Rzut statyczny - To najprostszy rodzaj odlewu, jaki można zastosować. Nie tylko wykonuje uniesienia, ale także przygnębienia. Jest to rzut kompilacji w czasie. Kontrole nie są wykonywane w czasie wykonywania, aby zagwarantować, że konwertowany obiekt jest pełnym obiektem typu docelowego.
- Dynamiczna obsada - Zapewnia, że wynik konwersji typu wskazuje na prawidłowy, kompletny obiekt typu wskaźnika docelowego.
- Const Cast - manipuluje tym, czy obiekt ma być stały, czy niestały. Zapewnia, że stała musi zostać ustawiona lub usunięta.
- Zinterpretuj ponownie obsadę - konwertuje dowolny typ wskaźnika na dowolny inny typ wskaźnika, nawet niepowiązanych klas. Nie sprawdza, czy typ wskaźnika i dane wskazywane przez wskaźnik są takie same, czy nie.
Spójrzmy na przykład statycznej obsady,
Przykład
#include using namespace std int main () {float flt = 30.11 // using cast operator int int1 = static_cast (flt) cout<Wynik
30
To prowadzi nas do końca tego artykułu na temat konwersji typów w C ++.Mam nadzieję, że te informacje były dla Ciebie przydatne i wkrótce znajdziesz więcej samouczków na podobne tematy. Możesz również sprawdzić nasz program szkoleniowy to uzyskać dogłębną wiedzę na temat jQuery i jego różnych aplikacji, możesz do szkoleń online na żywo z całodobowym wsparciem i dożywotnim dostępem.
Masz do nas pytanie? Wspomnij o nich w sekcji komentarzy w tym artykule, a skontaktujemy się z Tobą.