搜索
编程论坛
→
开发语言
→
C++论坛
→
『 C++教室 』
→ 函数模板问题
标题:
函数模板问题
只看楼主
whl20888
等 级:
新手上路
帖 子:12
专家分:0
注 册:2008-9-3
楼主
问题点数:0 回复次数:4
函数模板问题
#include <iostream.h>
template<class t>
t max(t a,t b)
{return (a>=b)?a:b;}
void main()
{
int a,b;
cin>>a>>b;
cout<<max(a,b)<<endl;
cout<<max("lisi","zhangsan");
}
这个程序中的 max("lisi","zhangsan");
对不对呢,这是书上的,觉得有点问题,不太清楚,麻烦高手讲解下!
搜索更多相关主题的帖子:
函数
模板
2008-12-15 22:26
sunkaidong
来 自:南京师范大学
等 级:
贵宾
威 望:
12
帖 子:4496
专家分:141
注 册:2006-12-28
第
2
楼
得分:0
有什么问题?好像没什么问题..
学习需要安静。。海盗要重新来过。。
2008-12-16 10:36
hitcolder
等 级:
新手上路
威 望:
1
帖 子:124
专家分:0
注 册:2008-10-28
第
3
楼
得分:0
回复 楼主 whl20888 的帖子
说下个人理解:
我觉得是对的,对于这个程序中的 max("lisi","zhangsan");模板中的t会默认成字符指针的形式,因此max()函数会比较"lisi"和"zhangsan"指针的大小,然后返回大点的指针,所以输出后仍然是一个字符串,应该是zhangsan,如果用的是
max("zhangsan","lisi");那输出的就是lisi,这又要涉及到内存的分配问题了。
不要在你的智慧中夹杂傲慢,也不要使你们的谦卑缺乏智慧的成分。
2008-12-16 11:06
5
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-249499-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.181682 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved