C++类模板:模板内的typename名字将屏蔽模板外部的名字

原创 2007年11月09日 12:27:00

 

// 类模板中的类型名字可以屏蔽定义外部的名字 
#include <iostream>
#include 
<string>
using namespace std;
// 模板外部对double起了个类型别名T 
typedef double T;

template 
<typename T>
void show(const T& t)
{
    
// 模板内部的T已经不是外部那个double别名T
    
// 外部的T被屏蔽 
    T k(t);
    cout 
<< k << endl;
    
return ;
}


int main()
{
    T t 
= 3.14;
    
string str("yao");
    show(str);
    show(t);
    getchar();
    
return 0;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

名字查找,模板,和基类成员访问

原文来自 http://gcc.gnu.org/onlinedocs/gcc/Name-lookup.html       C++标准规定,当解析一个模板函数或模板类时,所有不依赖于模板形参的名字...

C++中template<class T> && template <typename T>(模板区分)

问题:在下面的 template declarations(模板声明)中 class 和 typename 有什么不同?  template class Widget; // use...

Effective C++第七章-模板和泛型编程之typename与嵌套从属名称

typename在template的声明式中 template//声明方法1 template////声明方法2,使用typename 可以暗示参数不一定是一个class类型 使用方法1和方法2意义完...

C++中typename和class在声明模板时的区别

问题在下面的 template declarations(模板声明)中 class 和 typename 有什么不同?template class Widget; // uses "class" te...

关于C++中模板中的typename和class的区别比较

C++箴言:理解typename的两个含义 问题:在下面的 template declarations(模板声明)中 class 和 typename 有什么不同?template class Wi...

C++ - 模板(template)中typename的使用方法

模板(template)中typename的使用方法 http://blog.csdn.net/caroline_wendy/article/details/23910709 声明templ...

关于C++中模板中的typename和class的区别比较

问题:在下面的 template declarations(模板声明)中 class 和 typename 有什么不同? template class Widget; // uses "class"...

为什么C++编译器不能支持对模板的分离式编译--error LNK2019: 无法解析的外部符号

为什么C++编译器不能支持对模板的分离式编译(error LNK2019: 无法解析的外部符号) 首先,C++标准中提到,一个编译单元[translation unit]是指一个.cpp文件...

有关C++模板(template)的编译错误“error LNK2019: 无法解析的外部符号”的分析

转自:http://blog.csdn.net/fengyhack/article/details/39296411 按照通常的习惯,我们这样设计一个类或者结构(体): 在头文...

Typename和Class在声明模板时的区别

转载:http://wenku.baidu.com/view/ced26508b52acfc789ebc91b.html Typename和Class在声明模板时的区别      声明templ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)