반응형
 

C++> typeid 를 이용한 실시간 타입 알아내기



#include <stdio.h>

#include <typeinfo.h>

class myclass

{

};

void main()

{

 int a, b;

 char c;

 myclass ob1;


 printf("%s %s %s\n", typeid(a).name(), typeid(b).name() , typeid(c).name());

 printf("%s\n", typeid(ob1).name());


 bool isTrue = ( typeid(a) == typeid(b) ); // true

}


컴파일 옵션에는 Enable Run-time type information 체크되어 있어야 .


자세한 사항은

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclang/html/_pluslang_typeid_operator.asp




잇힝~ 이런게 있어야 말이 되지..... 그 동안 왜 몰랐을까 ㅡㅡ;


원본 위치 <http://blog.naver.com/PostView.nhn?blogId=sonbosun&logNo=80003997729&from=search>






#include <iostream>
#include <typeinfo>

using namespace std;

int main ( int argc, char** argv )
{      
    char* psz = NULL;
    int nNum = 0;
    unsigned long ulNum = 0L;

    printf("%s\n", typeid(psz).name() );
    printf("%s\n", typeid(nNum).name() );

    printf("%s\n", typeid(ulNum).name() );

    return 0;
}

 

출력
---------------------------------------------
char *
int
unsigned long

반응형
Posted by Real_G