模板是干什么的?

julyclyde 2002-07-23 12:09:44
如题。
...全文
82 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuns 2002-07-25
  • 打赏
  • 举报
回复
一个黑房子,可以放INT,FLOAT...数据类型的数据
julyclyde 2002-07-25
  • 打赏
  • 举报
回复
我是ASP版的两星啊
dy_paradise 2002-07-24
  • 打赏
  • 举报
回复
两颗星的专家问什么是摸板? 第一次见到
julyclyde 2002-07-24
  • 打赏
  • 举报
回复
GP是什么?General Protect?听着很不吉利啊!
hux 2002-07-24
  • 打赏
  • 举报
回复
当你需要对不同类型的变量实现一个相同算法时可以考虑用TEMPLATE
zheng_can 2002-07-24
  • 打赏
  • 举报
回复
template 是 GP 的基础
有了它,可以不依赖与具体的类型而写出函数或类
earthharp 2002-07-24
  • 打赏
  • 举报
回复
模板是函数产生机
tangss 2002-07-23
  • 打赏
  • 举报
回复
功能就象雕塑中的模子
wangran 2002-07-23
  • 打赏
  • 举报
回复
template应该用来产生一群classes,其中对象的类型不会影响到class的函数行为;inheritance应该用于一群classes身上,其中的对象类型会影响到class的函数行为。详见《Effective C++》中条款41。
Gpa 2002-07-23
  • 打赏
  • 举报
回复
什么模板呢?网页
C++


http://zhgpa.vicp.net
FFXI 2002-07-23
  • 打赏
  • 举报
回复
模板有一点象宏,是一种编译时展开的工具。如下:
// sorted array.h

template <class T>
class sortedarray
{
T* list[80];

sortedarray() { Zeromemory(list, 80*sizeof(T*), 0); }

int insert(T* a)
{
for( int i = 0; i < 80; i ++ )
{
if( list[i] == NULL || *a > *list[i] )
{
for( int j = 79; j > i; j--)
{ list[j] = list[j-1]; }
list[i] = a;
break;
}
}
}
}

在你的程序中:
class A
{
BOOL operator>(A& a)
{
reutrn Value > a.Value;
}
int Value;
} a, b;

sortedarray<A> array;
a.Value = 1;
b.Value = 2;

array.insert( &a );
array.insert( &b );

这只是一个简陋的例子,可能有错误,我是随手写的。不过就是这个意思。详细可查阅MSDN中的template话题.
fanwanping 2002-07-23
  • 打赏
  • 举报
回复
Templates are a compile-time mechanism so that their use incurs no
run-time overhead compared to "hand-written code"

that's Bjarne Stroustrup's word !!

<<The c++ programming language >> p41
Rose2000 2002-07-23
  • 打赏
  • 举报
回复
模版有函数模版和类的模版。
呵呵,此析体会一下使用继承和模版的区别。

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧