티스토리 뷰
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는 무슨 타입일까? 가 궁금할 수 있을 것이다.
'Programming Languages > C++ & Algorithm' 카테고리의 다른 글
map<string, int>::iterator it; 반복자 (0) | 2020.10.08 |
---|---|
2의 n승 개의 경우 모두 확인하기. (0) | 2020.10.07 |
c++ cin, scanf 속도 차이 얼마나 날까? (0) | 2020.10.05 |
c++ 재귀 알고리즘을 이용한 조합(combination) 생성 (0) | 2020.09.28 |
c++ 2차원 동적배열의 참조에 의한 호출 (0) | 2020.09.24 |
댓글