c++은 풍부한 데이터형이 존재하며 이 덕분에 사용자는 선택의 폭이 넓지만 컴퓨터의 처리가 복잡해 질 수 있다. 이 때문에 C++은 아래와 같은 상황에서 데이터형의 변환 기능을 제공한다.
1. 특정 데이터형의 변수에 다른 데이터형의 값을 대입했을 때
2. 수식에 데이터형을 혼합하여 사용했을 때
3. 함수에 매개변수를 전달할 때
#include <iostream>
using namespace std;
int main(){
int a = 1.2345;
cout << a; // 1이 출력됨
return 0;
}
시스템에서 자동으로 바꿔주는게 아닌 사용자가 강제적으로 형변환을 할 수도 있다.
#include <iostream>
using namespace std;
int main(){
char ch = 'M';
cout << int(ch) << endl; // 77출력
cout << (int)ch << endl; // 77출력
cout << static_cast<int>(ch) << endl; // 77출력
return 0;
}
(변환하고자 하는 type) 변수명 or 변환하고자 하는 type(변수명) 이 두가지 중 하나를 통해서 형변환이 가능하다.
이 외에도 static_cast<type>(변수명)의 방법을 통해서도 변환이 가능한데 두 방법의 차이는 다음에 다루도록하겠다.
'프로그래밍 > C++' 카테고리의 다른 글
[ C++ ] 조건문 (1) | 2023.10.28 |
---|---|
[ C++ ] 표준 입출력 (0) | 2023.10.28 |
[ C++ ] 상수와 const (0) | 2023.10.08 |
[C++] char형과 bool형 (0) | 2023.10.08 |
[ C++ ] 정수형과 실수형 (0) | 2023.10.08 |