C++類模板:模板內的typename名字將屏蔽模板外部的名字

 

// 類模板中的類型名字可以屏蔽定義外部的名字 
#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;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章