C#与C++的区别
来源:互联网 发布:禁毒知识网络竞赛 编辑:程序博客网 时间:2024/06/05 11:54
最近由于工作的需要,学起了C#,发现跟以前学习的C++有些不大一样,以下为学习小结
一、首先介绍一下C#与.net的背景:
C#是微软为.net平台专门开发的一种语言,而.net是微软为了开发应用程序的一个富有创新性的平台。.net框架可以应用于各种操作系统,而不仅仅是windows。.net框架主要包含一个非常大的代码库,我们可以使用各种语言(如C#)通过面向对象的技术来使用这些代码。在xp的系统里编译c#的程序需要.net框架的支持,而微软宣称在下一版本的操作系统会加入.net框架。
C#继承了C++很多方面的东西和思想,而C++和C都是国际化的标准,有标准组织维护,它并不属于任何一个公司,C#则是微软自己在C++基础上扩充,发展出来的,C#并不是一个国际标准,它只是微软件的一家子之言.但从纯技术角度讲,C#在C++基础上扩充出来以后,或限制出来以后,更注重实际应用,思想上完全面向对象,限制掉了C++的一些东西,又增加了一些比如内存自动回收等功能,但这样一些功能的扩充,其实是限制了的C++。在C#上编程,完全没有C++上自由,但这样一变去对软件开发效率思想上有很大的提高,所以C#是为了提升开发效率,和软件工业化的产物,相比之下,C#能作到的,C++都能做到,并且更完全,只不过C++更复杂。
二、下面谈一下它们语法差别:
1. C#中多了委托,用于把引用存储为函数以灵活调用函数,感觉有点像函数指针的用法。
2. C#多了接口(interface),接口是把隐式公共方法和属性组合起来,以封装特定功能的一个集合。一个类可以支持多个接口,多个类也可以支持同一个接口。
3. C#变量使用前必须赋值
4. C#只支持单继承
5. C#不推介使用指针,并具有内存管理功能(new之后不用delete)
6. C#严格区分bool和int类型
7. C#的控制台输入输出语句与C++不同。
8. C#变量没有全局变量或全局函数,全局方式的操作是通过静态函数和静态变量来实现的。
9. C#的二维数组的声明与C++的不一样。
10. C#使用命名空间比较多,自己在MFC中几乎没用过这东西,呵呵~
11. 有待进一步学习后补充
三、参考资料:
1. C#与C++,JAVA的比较
http://www.cnblogs.com/nightlast/archive/2004/12/23/cJavaC.html
2. C#与C++的相同点和不同点
http://zhidao.baidu.com/question/25956670.html
3. C#入门经典第三版
- C与C#的区别
- C与C#的区别
- C, C++,C#的区别与联系
- C#与C++、JAVA的区别
- c、c++、c# 结构体与类的区别
- c# 与c/c++/java的区别(待续)
- python与C, C++,C#一个计算精度的区别
- c语言与 c#与c++的区别
- C#与C/C++的区别的地方
- C++、C#中 abstract 与 virtual关键字的区别联系
- object-c 与 java,c#等语言的 语法区别
- C++、C#中 abstract 与 virtual关键字的区别联系
- 【C#】C#中List与IList的区别
- C和C#的区别
- vc6,vc.net,vc7,vc8,vc9,c,c++,c#的区别与联系
- [我眼中的C#]C#与.NET的区别与联系
- c#与java的区别
- c#与java的区别
- java 高性能网络编程
- 装修日记19 装修上的风水学问
- Mysql UDF
- SQL Server 2005 常用配置
- 使用.Net2.0的事务
- C#与C++的区别
- linux平台调试技术总结。
- VS2005开发windows服务的注意事项
- 在Visual C#中访问不同数据库(转)
- 如何判断两个矩形相交
- EXISTS和in
- 我的博客
- Jack Wu -- Implementation Search help EXIT
- VC 自定义消息