티스토리 뷰

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는 무슨 타입일까? 가 궁금할 수 있을 것이다.

 

댓글
반응형
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함