c++和c#的比较

来源:百度知道 编辑:UC知道 时间:2024/06/24 13:38:21
c++和c#都学了一段时间了,不过c++还是停留在控制台应用程序的阶段,c#我直接就学的windows应用程序,现在的感觉的vc#的图形界面制作真的非常方便
请问MFC制作图形界面的程序是不是也和VC#一样方便的?
还有C++和C#除了有没有指针这个区别外还有没有大的区别了?
有没有哪类软件只能用C++作而不能用c#做的?

楼上两位回答的都不好,
C#是简单易学,且.net类库封装得很好.就像vb一样拖控件,堆积木式就能做出一个程序来.
C++可就难多了,要用c++开发windows程序,你必须了解windows的消息处理机制,大部份要用windows api函数写程序,虽然mfc也对windows api进行了封装.
但是不懂api函数基本上是寸步难行.

  c++和C#编程语言来说,只是它们的设计目的有所区别。
c++在设计之初希望提供先进的面向对象特性,同时提供很好的性能。但是为了保证和以往的程序、开发人员的知识兼容,c++与c语言几乎完全兼容。c语言
本身其实就是现代计算机的高级抽象,可以直接访问地址、通过指针可以访问几乎任何内存地址;堆和栈的结构体现等待。当然c++也就具有了这样的特性。随
着 c++的逐步发展,generic programming 泛型编程技术和stl标准模板库的引入,c++和c的差异越来越大。基本上c++是为了
高效地使用面向对象技术或者泛型技术编写大规模高性能应用程序(往往是一些相对比较底层的应用程序)而设计的。
c#通过底层的虚拟机机制减少了c/c++语言中常常容易发生的内存泄漏和安全性问题,代价是运行速度减慢。同样的由于简化了编程语言的复杂性(c#远远
比c++来得简单),大大提高了开发者得效率。另外c#具有.net庞大的类库,这个优势是c++所不具有的。因此c#非常合适开发企业中处理业务的应用
程序。同时微软所有的操作系统、服务器程序、桌面端程序都在向.net平台统一。在历史上与次类似的情形(指微软技术)只有在微软从16位平台向32位平
台转变的过程中发生过。因此现在.net的转变对开发者来说可能是痛苦的(因为要学习很多新的东西),但也充满了机会。

二、具体区别:
1.继承:C++支持多继承,C#类只能继承一个基类中的实现但可以实现多个接口。
2.数组:声明 C# 数组和声明 C++ 数组的语法不同。在 C# 中,“[]”标记出现在数组类型的后面。
3.数据类型:在C++中bool类可以与整型转换,但C#中bool 类型和其他类型(特别是 int)之间没有转换。long