如何深入探究C++模板中class与typename的区别与联系?

2026-05-20 00:480阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计943个文字,预计阅读时间需要4分钟。

如何深入探究C++模板中class与typename的区别与联系?

前言+借用《Effective STL》的内容,已经放置在书架上很久了,想想这段时间不是在写lua做业务,就是在学安卓准备业务,已经很久没有看过C++这个老伙计了。为了不把老本行丢掉,也为了赶紧把书看完,断章取义一下。

前言

借来的《Effective STL》已经放在书架上很久了,想想这段时间不是在写lua做业务,就是在学安卓准备做业务,已经很久没有看过c++这个老伙计了。为了不把老本行丢了,也为了赶紧把书还回去给更多的人阅读。于是下定决心重头开始把它读完。

模板中使用class和typename的区别

还没翻几页,当看到这段代码的时候就楞了一下。印象中上次也是看到这里一下子没弄懂,还特地搜索过的。结果再来一遍的时候还是忘了。果然好记性不如烂笔头,赶紧写篇博客mark一下。

这里讲的是作者在声明模板的时候使用typename而不是class。一般情况下,使用typename或者class只是编码风格的问题。但是在遇到从属类型(dependent type)的时候,为了避免潜在的预防解析二义性,必须用typename而不能用class。

阅读全文

本文共计943个文字,预计阅读时间需要4分钟。

如何深入探究C++模板中class与typename的区别与联系?

前言+借用《Effective STL》的内容,已经放置在书架上很久了,想想这段时间不是在写lua做业务,就是在学安卓准备业务,已经很久没有看过C++这个老伙计了。为了不把老本行丢掉,也为了赶紧把书看完,断章取义一下。

前言

借来的《Effective STL》已经放在书架上很久了,想想这段时间不是在写lua做业务,就是在学安卓准备做业务,已经很久没有看过c++这个老伙计了。为了不把老本行丢了,也为了赶紧把书还回去给更多的人阅读。于是下定决心重头开始把它读完。

模板中使用class和typename的区别

还没翻几页,当看到这段代码的时候就楞了一下。印象中上次也是看到这里一下子没弄懂,还特地搜索过的。结果再来一遍的时候还是忘了。果然好记性不如烂笔头,赶紧写篇博客mark一下。

这里讲的是作者在声明模板的时候使用typename而不是class。一般情况下,使用typename或者class只是编码风格的问题。但是在遇到从属类型(dependent type)的时候,为了避免潜在的预防解析二义性,必须用typename而不能用class。

阅读全文