我想知道有什么区别之间typeid以及typeof在C++中.这就是我所知道的:
typeid在type_info的文档中提到, 它在C++头文件typeinfo中定义.
typeof在C的GCC扩展和C++ Boost库中定义.
此外,这里是我创建的测试代码测试,我发现typeid它不会返回我的预期.为什么?
main.cpp中
#include <iostream>
#include <typeinfo> //for 'typeid' to work
class Person {
public:
// ... Person members ...
virtual ~Person() {}
};
class Employee : public Person {
// ... Employee members ...
};
int main () {
Person person;
Employee employee;
Person *ptr = &employee;
int t = 3;
std::cout << typeid(t).name() << std::endl;
std::cout << typeid(person).name() << std::endl; // …Run Code Online (Sandbox Code Playgroud)