惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Schneier on Security
博客园_首页
量子位
博客园 - 司徒正美
S
SegmentFault 最新的问题
J
Java Code Geeks
小众软件
小众软件
博客园 - 【当耐特】
The Register - Security
The Register - Security
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Microsoft Azure Blog
Microsoft Azure Blog
G
Google Developers Blog
Blog — PlanetScale
Blog — PlanetScale
T
Tailwind CSS Blog
博客园 - Franky
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
G
GRAHAM CLULEY
Cyberwarzone
Cyberwarzone
腾讯CDC
Apple Machine Learning Research
Apple Machine Learning Research
V
Visual Studio Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
The Hacker News
The Hacker News
aimingoo的专栏
aimingoo的专栏
V
Vulnerabilities – Threatpost
P
Palo Alto Networks Blog
Scott Helme
Scott Helme
L
LINUX DO - 热门话题
F
Full Disclosure
D
DataBreaches.Net
Martin Fowler
Martin Fowler
Cisco Talos Blog
Cisco Talos Blog
L
LINUX DO - 最新话题
云风的 BLOG
云风的 BLOG
C
Check Point Blog
T
Threatpost
Google DeepMind News
Google DeepMind News
WordPress大学
WordPress大学
W
WeLiveSecurity
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
有赞技术团队
有赞技术团队
Hugging Face - Blog
Hugging Face - Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
L
Lohrmann on Cybersecurity
Last Week in AI
Last Week in AI
T
Tor Project blog
T
Troy Hunt's Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
S
Security Affairs
SecWiki News
SecWiki News

博客园 - Rawu

QT 使用(1) 到广外路线图 假期电话值班问题 test from blogex Event Sample -- from Professional C# DB2数据库中提高INSERT性能详解 [zt] Uwyn C++ Coding Standard 成员模板 class template const coding style Symbian OS C++ for Mobile Phones Volume2 -- hand note [zt]DB2编程小结 写个帖子记录一些小问题。 High-performance SQL Using DB2 routines to ease migration [ICNEWCASTLE]Bad day at the office [ICNEWCASTLE]I'll celebrate! the night before last night 's dream find it for a long time .. PB dddw filter Problem's Solution
template base --
Rawu · 2006-06-07 · via 博客园 - Rawu

//basics/max2.cpp
#include <iostream>

using namespace std;

namespace rawu
{
    inline 
int const& max(int const& a ,int const& b)
    
{
        cout
<<" not template"<<endl;
        
return a < b ? b : a;
    }

    
    template
<typename T>
    inline T 
const& max(T const& a, T const& b)
    
{
        cout
<<" template2 "<<endl;
        
return a < b ? b : a;
    }

    
    template
<typename T>
    inline T 
const& max(T const& a, T const& b, T const& c)
    
{
        cout
<<" template3 "<<endl;
        
return max ( max(a,b) , c ) ;
    }

    
    template
<typename T3 ,typename T1 , typename T2>
    inline T3 max(T1 
const& a ,T2 const& b)  //inline T3 const& max(T1 const& a ,T2 const& b) -- The address of a local variable or temporary is used in a return expression.
    {
        cout
<<" diff type template2"<<endl;
        
return a < b ? b : a;
    }

    
    
}




int main(void)
{
    cout
<<rawu::max(7,43,23)<<endl;   //call 2 not template
    cout<<rawu::max<int>(7,43,23)<<endl; // call 2 not template
    cout<<rawu::max<>(7,43)<<endl;      //call 1 template2     
    cout<<rawu::max('s',34.2)<<endl;  //call 1 not template
    cout<<rawu::max<double>('s',34.2)<<endl;  //call diff type template2
}