typeid运算符

typeid( dataType ):基本类型:获取数据类型等,类类型 : 获取对象所属的类,所包含的成员,所存在的继承关系。
typeid( expression )

typeid 会把获取到的类型信息保存到一个 type_info 类型的对象里面,并返回该对象的常引用;当需要具体的类型信息时,可以通过成员函数来提取。

用法:
const typeinfo &var=typeid(datatype or expression )

cout<

include

include

class Base{};
struct STU{};

void main(){
int temp=100;

const   type_info &tempinfo=typeid(temp);
cout<

class Base base;
const type_info &v1 = typeid(base); //获取一个对象的信息
cout<

struct STU stu;

const type_info &v2 = typeid(stu);
cout<

const type_info &v3 = typeid(char );

cout<

const type_info &v4 = typeid(5.0/3);
cout< }

判断类型相等:
///typeid 会把获取到的类型信息保存到一个 type_info 类型的对象里面,并返回该对象的常引用;
//当需要具体的类型信息时,可以通过成员函数来提取。

include

include

class Base{};
struct STU{};

void main(){
char *str;
int a=2;
int b=10;
float f;
cout<<(typeid(a).name()==typeid(b).name())< cout<<(typeid(int) == typeid(a))< cout<<(typeid(int) == typeid(float))< cout<<(typeid(int) == typeid(f))<

class Derive :public Base{};

class Base bs;
class Base *pbase;
class Derive de;
class Derive *pde;

cout<<(typeid(bs) == typeid(Base))<

}

你可能感兴趣的:(typeid运算符)