PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
C_and_CPP
[问题] 为什么用template不用typedef呢??
楼主:
kdok123
(小天)
2014-09-21 11:35:51
最近学习到了template
发现她每次宣告都需要再function前面加上template
可是我觉得它的功用跟typedef其实是一样的
但typedef定义了以后可以用在function里也可以用在main里的变量
template却只能用在function里
ex:
typedef int elemType;
template<calss T>
calss node{
};
int main()
{
node<int> head;
int data;//此时我要改template的型别这边也要改一次
return 0;
}
但如果用typedef我只需要把变量都改成elemType,接着改elemType的型别就好
结论就是:不太知道template的好处在哪里...
有人可以帮我分析一下template的好处吗???
作者:
bibo9901
(function(){})()
2014-09-21 11:46:00
你没用过vector<int>, vector<double>等等吗 @@
作者:
EryngiiYang
(鲍菇杨)
2014-09-21 11:59:00
说实话我看不太懂这份code想表达什么......template是泛型程式设计重要的一环 举例来说 STL里面的sort 可以接受不同的资料型态做排序(只要资料有可比性) 无须修改程式码就可以解决不同物件的问题
作者:
carylorrk
(carylorrk)
2014-09-21 12:15:00
你跟我学的是同一个 C++ 吗...看的是哪本书啊XD?
楼主:
kdok123
(小天)
2014-09-21 12:23:00
sorry可能我表达有问题>< 因为我现在写的都是单一cpp的小程式,可能我之后碰到大程式就会了解template的好处了吧!
作者:
diabloevagto
(wi)
2014-09-21 12:39:00
http://ideone.com/AoJs9m
不用为了 int 跟 double各自实做同样的功能
作者:
holydc
(のヮの)
2014-09-21 14:21:00
针对你说的情况,你还是可以搭配使用呀
http://ideone.com/oLDDSp
作者:
Zephyr750
(红莲西风750)
2014-09-21 19:05:00
请用你的typedef实作一下node<double>和node<int>,而且还要同一份code唷!template就可以....
楼主:
kdok123
(小天)
2014-09-21 19:29:00
恩恩我了解了!! 其实我根本没搞清楚他们的用途...混用这两个其实还满方便的! 谢谢大家的回答!
作者:
Killercat
(杀人猫™)
2014-09-21 22:37:00
其实比较常跟typedef混淆的应该是#define因为不少情况下 两个可以达成类似的效果
作者:
Zephyr750
(红莲西风750)
2014-09-21 23:00:00
Effective C++会建议尽量不要使用前置处理器...^^"
作者:
Killercat
(杀人猫™)
2014-09-22 00:58:00
我也满反对#define乱飞的... orz 很麻烦的东西
作者:
chienweichih
((゚д゚))
2014-09-22 11:56:00
你的class打错了
继续阅读
[讨论] c++ qsort 的问题
longted3
[问题] bit field struct 成员同时存取
chrisos
Fw: [心得] 几本让我成长很多的书(MFC篇)
ifelse
Fw: [心得] 几本让我成长很多的书
ifelse
Re: [公告] 使用者funbook警告一次
loveme00835
[问题] DEV C++ 编译错误讯息
kamehiba
Re: [问题] C regex
Neisseria
[问题] C regex
momo81
Re: [问题] 自制程式,帮忙Debug 给点意见~~~~
descent
[问题] 不是BFS 也不是DFS 那这有什么名字吗?
StarTouching
Links
booklink
Contact Us: admin [ a t ] ucptt.com