在C++中,typeof
是一个宏,用于获取一个变量或表达式的类型。它的作用是在编译时获取变量或表达式的类型,并将其类型名使用。这对于编写通用代码和模板非常有用,因为可以在不知道具体类型的情况下获取类型并进行操作。例如:
typeof(5) x; // x的类型为int
typeof(3.14) y; // y的类型为double
typeof(x + y) z; // z的类型为double,因为x和y相加的结果为double
需要注意的是,typeof
是一个GNU扩展,在标准C++中是不存在的,因此在使用时需要确保编译器支持该扩展。在C++11标准中,可以使用decltype
关键字来实现类似的功能。