问几个问题!
1.
template<typename T>
inline const T& max(const T& a, const T& b)
{ return a > b ? a : b; }
template<class T>
inline const T& max(const T& a, const T& b)
{ return a > b ? a : b; }
有什么区别?
2.
int& fun()
{
int a=6;
return a;
}
void main()
{
int& b=fun();
cout<<b<<endl;
}
应该有问题啊,a不是局部变量么,在调用完应该被释放掉了啊?编译器也给出警告了,但是还是可以正常显示,这是怎么回事啊?
3.
怎么样才能做出来输密码的效果?在字符界面下,没次输入的字符都有显示,怎么样才能把输入的字符保存到字符串中,而在屏幕上显示'*',或其他的什么字符!谢谢!
问题点数:20、回复次数:14Top
1 楼WingForce(初六,履霜,坚冰至。)回复于 2005-05-06 11:35:51 得分 2
1、区别是class和typename是2个关键字的字符串内容不一样
2、凭什么说调用完以后就一定要释放,谁规定的?
3、不知道你的意思。。。Top
2 楼du51(郁郁思扬)回复于 2005-05-06 11:43:48 得分 4
2 .局部变量是要释放的.不过,在释放前,你把这个值赋给了b.也就是在b里有了一份COPY.Top
3 楼xoyoren(forcey)回复于 2005-05-06 11:50:45 得分 4
2,释放了之后内存没被重写,还是原来的值
3,看看 console api 吧,不知道在控制台上有没有可能实现Top
4 楼zjyu88(日有所思,夜有所梦)回复于 2005-05-06 11:59:11 得分 4
2.楼上说拉,,未被重写...
3.可以使用getch()这函数,,它是接受一个字符但不显示出来..如果你想输出其它的你应该会做了吧..Top
5 楼yuhjnm_20001(力)回复于 2005-05-06 12:18:39 得分 0
xuexiTop
6 楼diandian82(点点(nothing))回复于 2005-05-06 12:20:14 得分 0
什么叫内容不一样?我以对象为参数调用他们都没什么区别啊!Top
7 楼diandian82(点点(nothing))回复于 2005-05-06 12:22:54 得分 0
什么叫内容不一样?我一对象为参数调用两个函数都没什么区别啊!Top
8 楼healer_kx(甘草(楼主揭贴吧,我们这些上班灌水的也不容易))回复于 2005-05-06 12:25:58 得分 3
第一个绝对没有区别! typename的用法却是class在某些情况不能取代的!
第二个的写法很不好, 只是你的调用还没有破坏上一个栈而已, 你在cout前面call一个函数什么的就出误差了。。。
第三个简单啊, 用getch还是getchar来得,。他是不回显的。。。
Top
9 楼healer_kx(甘草(楼主揭贴吧,我们这些上班灌水的也不容易))回复于 2005-05-06 12:26:41 得分 0
前面有高三角的人说错了。。。Top
10 楼diandian82(点点(nothing))回复于 2005-05-06 13:11:15 得分 0
能给个具体的例子么?getchar()是带回显的,getch()我没有找到在哪个头文件中,有没有用标准头文件实现此功能的例子?Top
11 楼KingI(我现在很热!!!)回复于 2005-05-06 13:12:37 得分 3
3.
#include <stdio.h>
void main()
{
char c;
for (; (c=getch())!='\r'; ) {
putchar('*');
//do sth here
}
}
Top
12 楼zhongwei5695(威少求学C++)回复于 2005-05-06 13:34:01 得分 0
没有本质区别楼主!!
前者比后者标准,最新的编译器可能不支持后者Top
13 楼aaww110(阿牛哥)回复于 2005-05-06 23:55:54 得分 0
1、区别是class和typename是2个关键字的字符串内容不一样
2、凭什么说调用完以后就一定要释放,谁规定的?
3、不知道你的意思Top
14 楼mostideal(三甲)回复于 2005-05-06 23:58:26 得分 0
dingTop




