社区
工具平台和程序库
帖子详情
三个模板函数的区别
niu_a
2004-04-12 05:06:29
template <class T>
void test(const T &t)
{};
template <class T>
void test (const vector<T>& vctT)
{};
template <vector<class T> >
void test(const vector<T> &vctT)
{};
这三个模板函数扩展之后是什么样子啊?如何才能区分调用?
...全文
41
10
打赏
收藏
三个模板函数的区别
template void test(const T &t) {}; template void test (const vector& vctT) {}; template <vector > void test(const vector &vctT) {}; 这三个模板函数扩展之后是什么样子啊?如何才能区分调用?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
niu_a
2004-04-13
打赏
举报
回复
编译器之间在模板方面差异较大,譬如我的Vc6还不支持模板嵌套,但支持下面这种写法.
template <vector<class T> >
void test(const vector<T> &vctT)
{};
实际上与
template <class T>
void test(const vector<T> &vctT>{};应该是一样的.
(如果同时存在,编译器就会报重复定义错误)
BluntBlade
2004-04-13
打赏
举报
回复
《C++ 沉思录》上有关于Templates的一个解释,就是“一种受限宏”。
另外
template <vector<class T> >
void test(const vector<T> &vctT)
{};
这种写法编译器是不允许通过的。
应该写成
template <typename T, template<typename> class CONT = vector>
void test(const CONT<T> &vctT)
{};
adamsun
2004-04-13
打赏
举报
回复
在我看来,C++模板本身的机制偏向于宏的功用,不过要比宏更有安全性,泛化性。
但是结合模板所发展出来的一系列idioms那才是模板的迷人之处,但也是很难随心所欲的部分,
也是模板给C++带来巨大变革的关键!
yjh1982
2004-04-13
打赏
举报
回复
第三个是错的.
Wolf0403
2004-04-13
打赏
举报
回复
模板的思想还是很清晰的,编译器还是非常聪明的。
那是当然的,嘿嘿。不过等你深入之后就,,,也许,,,大概。。。呵呵
《C++ Templates》,如果你有兴趣。
nirvana_li
2004-04-12
打赏
举报
回复
template <class T>//T为模板类
void test(const T &t)//参数是const T&
{};
template <class T>//T为模板类
void test (const vector<T>& vctT)//参数是const vector<T>&
{};
template <vector<class T> > //T为模板类,做为vector的元素型别.
void test(const vector<T> &vctT)//参数是const vector<T>&
{};
niu_a
2004-04-12
打赏
举报
回复
sorry,
下面两个函数其实是一样的?我想问的是如何调用
template <class T>
void test (const vector<T>& vctT)
{};
template <vector<class T> >
void test(const vector<T> &vctT)
{};
现在明白了
vector<int> vctT;
test(vctT);//将会调用template <class T> void test (const T&)...//其实就是test<vector<int> (vctT);
test<int>(vctT);//将会调用template<class T> void test(const vector<T>&)...
模板的思想还是很清晰的,编译器还是非常聪明的。
Wolf0403
2004-04-12
打赏
举报
回复
template <vector<class T> >
void test(const vector<T> &vctT)
{};
你自己编译一下再提问好不好
happlyman
2004-04-12
打赏
举报
回复
模板嵌套,知道但是我不知道怎么说你能明白,也不知道你不明白什么
programer23
2004-04-12
打赏
举报
回复
顶
C++
函数
模板
与类
模板
的
区别
函数
模板
中定义的类型参数可以用在
函数
声明和
函数
定义中,类
模板
中定义的类型参数可以用在类声明和类实现中。类
模板
的目的同样是将数据的类型参数化。 声明类
模板
的语法为: template<typename 类型参数1 , ...
函数
模板
和类
模板
详解
C++中的
模板
主要是
函数
模板
和类
模板
大致可以分为:
模板
函数
和
模板
类其中
模板
类主要解决对象问题 。 在 C++ 中为了操作简洁我们引入了
函数
模板
。所谓的
函数
模板
实际上是建立一个通用
函数
,其
函数
类型和形参类型不...
模板
函数
与特化
函数
今天在写代码时,遇到了
模板
和特化,在网上找了资料后问题呗一一解决,转载...特化
函数
与
模板
函数
的
区别
: (1)、
模板
函数
的T参数只能传入类类型的参数;特化
函数
的参数只能传入对应的参数类型,基本类型或类类型。...
模板
函数
1.什么是
模板
函数
?2.
模板
函数
怎么写?3.
模板
如何进行实例化? 隐式实例化? 显式实例化?4.什么是参数推演? 5.
模板
函数
如何编译? 6.
模板
函数
的
模板
参数列表? 类型参数? 非类型参数?7.
模板
函数
的重载?8.什么是
模板
的特化?...
C++
函数
模板
的详细讲解【
函数
模板
的概念、用法及其
模板
函数
的概念知识】
函数
模板
调用
模板
函数
函数
模板
和
函数
重载 前言 C++提供了
模板
(template)编程的概念。所谓
模板
,实际上是建立一个通用
函数
或类,其类内部的类型和
函数
的形参类型不具体指定,用一个虚拟的类型来代表。这种通用的方式...
工具平台和程序库
24,854
社区成员
27,343
社区内容
发帖
与我相关
我的任务
工具平台和程序库
C/C++ 工具平台和程序库
复制链接
扫一扫
分享
社区描述
C/C++ 工具平台和程序库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章