Podstawowe operatory i konwersja typów
Proszę opanować operatory arytmetyczne, porównania i logiczne oraz niejawne i jawne konwersje typów.
Podstawowe operatory i konwersja typów to bezpłatna lekcja C++ Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej C++ Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs C++ Academy zawiera 4 lekcji w sumie.
Operatory arytmetyczne
Standardowe operatory arytmetyczne to: + - * / oraz modulo %. Operator modulo działa wyłącznie na liczbach całkowitych.
int a = 17, b = 5;
std::cout << a + b << "\n"; // 22
std::cout << a - b << "\n"; // 12
std::cout << a * b << "\n"; // 85
std::cout << a / b << "\n"; // 3 (integer division)
std::cout << a % b << "\n"; // 2Dzielenie całkowite a zmiennoprzecinkowe
Gdy oba operandy są liczbami całkowitymi, dzielenie zaokrągla wynik w kierunku zera. Aby wykonać dzielenie zmiennoprzecinkowe, należy rzutować jeden operand na typ zmiennoprzecinkowy.
int a = 7, b = 2;
std::cout << a / b << "\n"; // 3
std::cout << static_cast<double>(a) / b; // 3.5Zwiększanie i zmniejszanie
++ i -- odpowiednio dodają lub odejmują jeden. Wersja prefiksowa (++x) najpierw zwiększa wartość, a następnie ją zwraca. Wersja postfiksowa (x++) zwraca pierwotną wartość, a dopiero potem ją zwiększa.
Przypisanie złożone
Połącz operację arytmetyczną z przypisaniem: +=, -=, *=, /=, %=. Takie zapisy są krótsze i często czytelniejsze.
int total = 0;
total += 5; // total = total + 5
total *= 2; // total = total * 2Operatory porównania
Sześć operatorów porównania zwraca wartości typu bool: ==, !=, <, <=, >, >=.
Operatory logiczne
Wartości logiczne można łączyć za pomocą && (i), || (lub) oraz ! (nie). Operatory te stosują ewaluację zwarciową — jeśli wynik jest znany wcześniej, pozostała część nie jest obliczana.
bool valid = (age >= 18) && (age < 120);
bool weekend = (day == "Sat") || (day == "Sun");Operatory bitowe
Do manipulowania bitami służą: & (i), | (lub), ^ (xor), ~ (nie), << (przesunięcie w lewo), >> (przesunięcie w prawo).
Konwersje niejawne
C++ automatycznie konwertuje typy liczbowe w wielu kontekstach — czasami po cichu tracąc precyzję. Należy zachować ostrożność w wyrażeniach zawierających różne typy.
int i = 10;
double d = i; // OK: int to double
int j = 3.7; // OK but truncates to 3static_cast: konwersja jawna
To preferowany sposób konwertowania powiązanych typów. Konwersja jest sprawdzana w czasie kompilacji.
double price = 9.99;
int dollars = static_cast<int>(price); // 9Inne rzutowania: reinterpret_cast const_cast
Istnieją trzy inne rzutowania przeznaczone do specjalnych przypadków:
- reinterpret_cast — ponownie interpretuje wzorce bitowe (należy używać rzadko)
- const_cast — usuwa const (należy używać jeszcze rzadziej)
- dynamic_cast — rzutowanie wykonywane w czasie działania dla typów polimorficznych
Unikaj rzutowań w stylu C
Stara składnia (int)x jest niejednoznaczna — może oznaczać dowolne z czterech rzutowań. Używaj nazwanego rzutowania, które odpowiada zamierzonemu działaniu.
Szybkie sprawdzenie
Jaki wynik daje wyrażenie 7 / 2 w C++, gdy oba operandy mają typ int?
Podsumowanie
C++ udostępnia operatory arytmetyczne, porównania, logiczne i bitowe. Konwersje niejawne mogą powodować utratę danych — do jawnych konwersji należy preferować static_cast i unikać rzutowań w stylu C.
Często zadawane pytania
Czy lekcja „Podstawowe operatory i konwersja typów” jest bezpłatna?
Tak — pełny tekst „Podstawowe operatory i konwersja typów” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu C++ Academy, przejdź na CoddyKit PRO. Kurs C++ Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Podstawowe operatory i konwersja typów”?
Proszę opanować operatory arytmetyczne, porównania i logiczne oraz niejawne i jawne konwersje typów. Ćwiczysz C++ Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć C++ Academy?
Nie wymagamy żadnego doświadczenia. C++ Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „Podstawowe operatory i konwersja typów”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji C++ Academy?
Tak. Każda lekcja C++ Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Konfigurowanie kompilatora C++
- Hello World i proces budowania
- Zmienne, automatyczne wnioskowanie typów i constexpr
- Podstawowe operatory i konwersja typów