typeid(a).name()为什么不与“class lala”相等

大白兔奶糖Oo 2018-03-11 05:51:26


我创建了一个叫做lala 的类。
上面的判断 输出结果是2
我想知道1为什么不行……
...全文
329 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
mstlq 2018-03-11
  • 打赏
  • 举报
回复
参考 http://zh.cppreference.com/w/cpp/types/type_info/name const char* name() const; 比较c风格字符串是否一致,应该用strcmp http://zh.cppreference.com/w/cpp/string/byte/strcmp
if (strcmp(typeid(a).name(),"class lala") ==0) 
    cout<<"1";
真相重于对错 2018-03-11
  • 打赏
  • 举报
回复
因为name返回的是char*

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧