타입 캐스팅 파트 1
Coddy C++ 여정의 기초 섹션에 포함된 레슨. 74개 중 14번째.
형 변환은 값을 한 데이터 유형에서 다른 데이터 유형으로 변환하는 과정입니다.
C++에서는 정수를 실수로, 실수를 정수로 변환하는 등 다양한 변환을 할 수 있습니다. 형 변환에는 암시적(자동) 형 변환과 명시적(수동) 형 변환, 두 가지 유형이 있습니다.
예를 들어 Integer to Double:
암시적(자동) 형 변환:
int number = 5;
double decimal = number; // 자동으로 5.0이 됩니다
// 계산을 사용하면
int x = 7;
double result = x / 2.0; // result는 3.5입니다참고: 두 int 값을 나눌 때 C++는 정수 나눗셈을 수행합니다. 소수 부분은 버려집니다. 예를 들어, 7 / 2의 결과는 3.5가 아니라 3입니다. 소수점이 있는 결과를 얻으려면 피연산자 중 적어도 하나가 double이어야 합니다(예: 7 / 2.0의 결과는 3.5입니다).
명시적(수동) 형 변환 Double to Integer:
double decimal = 9.7;
int number = (int) decimal; // 9가 됨 (소수 부분은 버려짐)
// 계산과 함께
double price = 19.99;
int roundedPrice = (int) price; // 19가 됨현대 C++에서 권장하는 스타일: C 스타일 캐스트인 (int) decimal 대신, 더 안전하고 의도를 더 명확하게 표현하는 static_cast<>()를 사용하는 것이 좋습니다.
double decimal = 9.7;
int number = static_cast<int>(decimal); // 9가 됨 (소수 부분은 버려짐)
double price = 19.99;
int roundedPrice = static_cast<int>(price); // 19가 됨참고: (int) value와 static_cast<int>(value)는 여기서 같은 결과를 내지만, static_cast<>()는 변환이 명확하게 드러나고 컴파일러가 검사하므로 현대 C++에서 권장되는 방식입니다.
챌린지
초급형 변환을 보여 주는 C++ 프로그램을 작성하세요. 다음을 수행하세요:
price 변수를 int로 변환하고, 결과를 intPrice라는 새 변수에 저장하세요.
직접 해보기
int intPrice = ?; // double에서 int로 명시적 형변환
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
직접 연습해 보세요: 온라인 C++ 컴파일러