在以下代码中,使用函数模板打印任何类型的值。这个是使用功能模板而不是正常功能
#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