当前位置: 首页 > news >正文

python官方网站策划公司

python官方网站,策划公司,全国做网站的公司,网页制作与网站建设实战大全 pdftypename关键字详解 文章目录 typename关键字详解定义用法1.和class同义,用于引入泛型编程中所用到的模板参数2.用来消除歧义,告诉编译器后面的是类型名而不是变量名 定义 typename相当于泛型编程中class的同义关键字,用来指出模板类型所依赖…

typename关键字详解

文章目录

  • typename关键字详解
    • 定义
    • 用法
      • 1.和class同义,用于引入泛型编程中所用到的模板参数
      • 2.用来消除歧义,告诉编译器后面的是类型名而不是变量名

定义

typename相当于泛型编程中class的同义关键字,用来指出模板类型所依赖的名称是类型名而非变量名

变量名:int bar 中 bar是变量名,int是类型名

typedef int bar :bar 也是类型名,是类型int的别名

用法

1.和class同义,用于引入泛型编程中所用到的模板参数

// 定义一个返回参数中较大者的通用函数
template <typename T>
const T& max(const T& x, const T& y)
{return x > y ? x : y;
}

等价于

template <class T>
const T& max(const T& x, const T& y)
{return x > y ? x : y;
}

2.用来消除歧义,告诉编译器后面的是类型名而不是变量名

我们先定义两个结构体:

struct StructWithBarAsType
{typedef int bar;//bar 位类型名
};  
struct StructWithBarAsValue
{int bar;// bar为变量名
};

然后来看下面这段代码:

template <class T>
void foo(const T& t)
{// 声明一个指向某个类型为T::bar的对象的指针T::bar * p;		//能得到我们想要的结果吗???
}int main()
{StructWithBarAsType x;foo(x);StructWithBarAsValue y;foo(y);
}

这段代码是有问题的,因为编译器并不清楚bar是什么:

  • bar可能是像第一个结构体中,是一个类型名,此时p是指向bar类型的指针
  • bar也可能是第二个结构体中,作为一个变量名,此时foo( )不会将 * 作为指针的标志,而是将其看为乘号,实现bar*p

此时就出现了歧义,在C++中,编译器默认bar为变量名,如果作为类型名,需要在前面加上typename

template <typename T>
void foo(const T& t)
{   // 声明一个指向某个类型为T::bar的对象的指针typename T::bar * p;
}

这样就确定了p为一个指向bar类型的指针,不会出现歧义

http://www.hrbkazy.com/news/32925.html

相关文章:

  • 辽宁住房和城乡建设网站萝卜建站
  • asp 网站名字快照关键词优化
  • web网站开发的参考文献查网址
  • 武清做网站企业网络搭建方案
  • 网站建设投票系统总结设计网站
  • 做seo网站营销推广百度资源搜索
  • 怎么使用网站模板个人博客网站
  • 阿里云做网站视频无法播放如何营销推广自己的产品
  • 热 动漫-网站正在建设中-手机版6google学术搜索
  • 企业网站报价大型的营销型网站
  • 自己搭服务器 做购物网站成本太原seo关键词排名
  • 网站怎么销售搜索引擎技术基础
  • wordpress 支付下载优化设计七年级上册数学答案
  • 找外包公司做网站给源码吗宁波抖音seo搜索优化软件
  • 锦州网站建设报价多用户建站平台
  • 特效炫酷的网站域名推荐
  • 吉林省建设厅监理协会网站2023年最新新闻摘抄
  • 县政府网站集约化建设国际网站平台有哪些
  • ps网站怎么做超链接如何做好产品网络推广
  • 网络推广商城关键词优化骗局
  • jsp php动态网站开发国外免费域名
  • 宜宾市做网站多少钱搜索数据
  • wordpress 获取标题湖南网站seo
  • 石家庄网站建设外包公司排名外链工具在线
  • 木兰姐网站建设百度爱采购推广怎么收费
  • 网站特殊字体站长之家官网
  • 网站建设 佛山市2023国内外重大新闻事件10条
  • 诸城网站建设定制佛山网站优化排名推广
  • 上海沙龙网站建设百度seo关键词排名技术
  • 网站建设基本流程是什么银行营销技巧和营销方法