功能模板的行为

时间:2017-01-02 13:09:04

标签: c++ templates

在以下代码中,使用函数模板打印任何类型的值。这个是使用功能模板而不是正常功能

#include<iostream>
using namespace std;
template<typename any>
void show(any c)
{
    cout<<"Data : "<<c<<endl;
}
main()
{
    int x=99,&r=x;
    int *p=&x;
    show(10);
    show(10.1);
    show("Hello");
    show('@');
    string s("Vector");
    show(s);
    show(r);
    show(p);
}

这里首先我传递了一个字符指向函数show它工作正常但是当我传递一个整数指针时它显示了一些垃圾。

因此,当模板可以从char *获取值时,为什么它不能从整数指针获取值

输出:

10
10.1
Hello
@
Vector
99
0xbf839250

0 个答案:

没有答案