typename和class有啥区别,看了C++ primere也没搞清楚它说的有啥区别

看到机器就疯狂 2013-06-11 01:28:04
typename和class有啥区别,看了C++ primere也没搞清楚它说的有啥区别?这本书表达能力有问题。
...全文
188 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
青松2 2013-06-12
  • 打赏
  • 举报
回复
bljswpu 2013-06-12
  • 打赏
  • 举报
回复
在模板中 没有区别 class容易引起混淆 他是历史遗留的产物 建议都用typename
hugett 2013-06-11
  • 打赏
  • 举报
回复
用在template<>中的时候。。typename和class没有区别。。
lm_whales 2013-06-11
  • 打赏
  • 举报
回复
在模板中 class 和typename 没有太多区别; 不过class 可以定义类 typename不可以,typename是模板专用的! typename 表示这是任何一种C++类型。 class 本身只有类这一种含义,用在模板中却可以表示任何一种C++类型。 含义就有点不明确!把类的概念,和数据类型的概念混淆了,不利于初学者理解模板的概念,所以引入typename,代替class ; 这也有缺点 其实只用type,应该就可以了,不用点名这是类型名字。 估计type虽然不是关键字,但是各个个编译系统,已经用隐性的把type作为别的用途了,所以写成 typename这么别扭的关键字。
www_adintr_com 2013-06-11
  • 打赏
  • 举报
回复
作为 template <> 里面的模板参数时, 他们没有区别. 当你定义一个类的时候, 只能使用 class, 不能使用 typename 当你指明一个标示符是类型, 而不是变量名或其他名称时, 只能使用 typename
  • 打赏
  • 举报
回复
引用 楼主 u010828523 的回复:
typename和class有啥区别,看了C++ primere也没搞清楚它说的有啥区别?这本书表达能力有问题。
你的问题都没说明白。
飞天御剑流 2013-06-11
  • 打赏
  • 举报
回复
为什么你总是要把自己理解错误的原因归咎到别人身上?如果多数人都说c++ primer表达能力有问题,那么很可能c++ primer真的有问题,但问题是只有你一个人在说c++ primer表达能力有问题,那就肯定是你自己的原因!
大尾巴猫 2013-06-11
  • 打赏
  • 举报
回复
没啥区别吧。typename表达更清楚些,class容易和类混淆概念。

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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