CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

问几个问题!

楼主diandian82(点点(nothing))2005-05-06 11:25:02 在 C/C++ / C++ 语言 提问

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

相关问题

  • 问几个问题
  • 问几个问题
  • 问几个问题
  • 问几个问题
  • 问几个问题......
  • 问几个问题
  • 问几个问题
  • 问几个问题!
  • 几个问题:
  • 几个问题

关键词

  • template
  • const t
  • template inline
  • fun
  • max
  • void main

得分解答快速导航

  • 帖主:diandian82
  • WingForce
  • du51
  • xoyoren
  • zjyu88
  • healer_kx
  • KingI

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo