首页 > 其他 > 详细

typename 关键字

时间:2019-05-28 22:00:11      阅读:121      评论:0      收藏:0      [点我收藏+]

1、class关键字的同义词

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

2、类型名指示符

告诉编译编译器把一个特殊的名字解释成一个类型。在下列情况下必须对一个name使用typename关键字:
一、一个唯一的name(可以作为类型理解),嵌套在另一个类型中
二、依赖于一个模板参数,就是说模板参数在某种程度上包含这个name,当模板参数是编译器在指认一个类型时便会产生误解

struct StructWithBarAsValue
{
     int bar;
};

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

typename 关键字

原文:https://www.cnblogs.com/smallredness/p/10940241.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!