Chinaunix首页 | 论坛 | 博客
  • 博客访问: 128018
  • 博文数量: 36
  • 博客积分: 2010
  • 博客等级: 大尉
  • 技术积分: 380
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-09 14:59
文章存档

2011年(1)

2010年(1)

2009年(7)

2008年(27)

我的朋友

分类: C/C++

2008-11-20 18:01:45

QC#中的泛型和C++中的差别很大,限制也较多,比如要做模板元编程之类的高级用法,在C#根本就不可能。另外也不能彻底地解决集合类的性能问题,那么你认为到底C#中泛型的实际用处是什么呢?在下一版本中,.NET中的泛型是后还会有所改善?

A:的确C#中的泛型和C++中有很大差别,C#中限制也比较多。但是C#泛型能够解决C#1.1版的代码实现所带来的性能损失和类型安全。泛型提供了一个类型安全,且高效的编程方式。至于下一版C#会不会对泛型做改善,目前还没有看到过微软这方面的资料。

________________________________________

Q在旧的函数中我们可以在同一个stackpush一个int后再push一个string,即同一个stack实例保存不同类型数值,用泛型无法实现这个功能了?

A:如果你要在stack中同时push intstring甚至其他类型的话,你也同样可以用基于object的方式来写这个stack。但我想这并不是一个很好的编程方式,你在调用pop返回值的时候可能会比较困难。

________________________________________

Q泛型尖括号中一定要用大写的T吗?

A:不一定。T只是泛型参数的名字,可以是任何符合变量命名规范的单词。你可以定义等。但是为了让代码具有更好可读性,还是建议你在泛型参数前加上一个大写的T,当然你也可以定义你自己小组的开发规范。

________________________________________

Q定义泛型类时,是不是必须要使用IComparable接口?

A:不一定,泛型的约束是根据你所定义的泛型类中的需要来考虑的,如果你所定义的泛型没有用到泛型参数的比较运算符(==),那你不用为此泛型类增加IComparable的约束。

________________________________________

Qnew()中的构造函数可以约束参数类型吗?

A:不可以。因为默认构造函数约束new()关键字不能增加参数。

________________________________________

Q从技术角度来说vb.netC#2.0vc++2005哪个语言更具挑战性、发展空间更大、功能更强,并分别比较一下各自特点可以吗

A:可以说所有基于DOT NET CLR的托管编程语言都差不多,主要是编程语法和习惯的不同。因为dot net平台是一个开放的平台,越来越多的流行的编程语言都增加了对dot net平台的支持。各位可以根据自己的兴趣和习惯来选择dot net平台的编程语言。

________________________________________

Q请问泛型在实际编程中运用得会非常频繁吗?

Adot net类库中已经提供了一套泛型类,比如:Dictionary对象,List对象,还提供了一系列的接口。推荐大家尽量使用这些泛型类。还有就是你在做一些基础的数据结构类时,应该要考虑使用泛型类。

________________________________________

Q想问一下,C#封装成的DLL,能在delphi中调动用?

A:可以实现。你可以参考MSDN中的相关文章,如何将Assembly呈现为COM组件。

________________________________________

Q如何在vs2005智能设备项目中使用第三方的组件例如mapx mobile5.05

A:关于这个问题要咨询组件提供商能不能支持vs2005的智能设备编程。

________________________________________

Q听了蛮多泛型的介绍,但还不是很清楚,泛型最主要的用途和使用场合,能否概要的讲一下,谢谢!

A:涉及到暂存数据和读取数据的基本结构类及数组,字典对象时,都建议使用泛型。

________________________________________

QC++中有如下语法:class ATL_NO_VTABLE CATLtest : public CComObjectRootEx,      public CComCoClass,这是否就是泛型的应用,C++也支持泛型?谢谢。

A

________________________________________

Q我一直在用的是Visual Studio 2003, 还未曾接触到过2005,请问20052003相比,最大提升在哪里?

A:最重要的就是DOT NET Framework 2.0的改进,包括语法的增强,数据库编程对象的增强及性能改善,ASP.NET编程的加强及改进等等,建议你在MSDN中查看相应的文章,VS2005的新功能介绍。

________________________________________

Q我现在在老师指导下,按照软件工程标准写一个软件。里面大约有十几个类。但有些类的一些方法不知道怎样定义(有些方法可以用静态方法,也可用普通的方法。还有些方法不知道放到哪个类里。很难做出选择。)

A:关于你提的软件工程标准,不知道你是采用什么样的标准,还有十几个类,我也不清楚你是十几个什么样的类?但你可以去查看我在MSDN Webcast上以前关于架构设计的课程:如何在dot net平台设计基于分布式多层应用程序的架构设计,希望能够对你有所帮助。

________________________________________

Q请问一个泛型类能不能从另一个泛型类继承??

A:可以的。不过要保持泛型参数的一致性。

阅读(2346) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~