Programming Languages/C++ & Algorithm

C++ 자료형 확인, 자료형 크기 확인

둠드 2020. 10. 6. 13:36

C++의 자료형(타입)을 확인하거나 크기가 궁금할 때는 어떻게 확인할 수 있는 지 알아보자.

 

결론부터 말하자면,

먼저 자료형은 <typeinfo> 헤더의 typeid()를 이용한다.

타입의 크기는 sizeof() 함수를 이용하면 구할 수 있다.

 

아래의 예제 코드를 보자

#include <iostream>
#include <typeinfo>
using namespace std;


int main() {
	int a = 5;
	bool b = false;
	short int c = 15;
	double d = 25.12;

	cout << "a: " << a << ' ' << typeid(a).name() << ' ' << sizeof(int) << "바이트" << endl;
	cout << "b: " << b << ' ' << typeid(b).name() << ' ' << sizeof(bool) << "바이트" << endl;
	cout << "c: " << c << ' ' << typeid(c).name() << ' ' << sizeof(c) << "바이트" << endl;
	cout << "d: " << d << ' ' << typeid(d).name() << ' ' << sizeof(d) << "바이트" << endl;
	return 0;
}

실행결과:


물론 위와 같이 명시적으로 형을 지정해주었을 때는 typeid를 확인할 일은 없겠지만, 컴파일러가 암묵적으로 형변환을 하는 지 확인할 경우에 사용할 수 있다.

 

예를 들면, 아래와 같이

long e = c;
cout << "e: " << e << ' ' << typeid(e).name() << ' ' << sizeof(e) << "바이트" << endl;

 long int 타입 e의 변수에 short int 타입 변수를 대입하면 e는 무슨 타입일까? 가 궁금할 수 있을 것이다.