C#与C++的区别
2008-07-18 11:41
176 查看
最近由于工作的需要,学起了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的比较
/article/5413244.html
2. C#与C++的相同点和不同点
http://zhidao.baidu.com/question/25956670.html
3. 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的比较
/article/5413244.html
2. C#与C++的相同点和不同点
http://zhidao.baidu.com/question/25956670.html
3. C#入门经典第三版
相关文章推荐
- c#和c/c++编译生成的exe文件的区别
- C#与C++中switch语句区别
- C++和C#构造函数的区别
- java 与 c++ 、 C# 之间的区别与联系
- C#与C++的区别总结
- java、C#以及C++中&&和||,&和|的联系和区别
- C++与C# 中static 成员变量的区别
- C++与C#中枚举类型的调用区别
- C++ 模板和 C# 泛型之间的区别(C# 编程指南)
- 解释一下C#与C++有什么区别?
- .NET/C#中的 using 与 C/C++中的 #include 的区别
- C#和C++中char类型的区别
- C++和C#的语法和功能区别
- c、c++、c# 结构体与类的区别
- C++和C#区别
- c++中的隐藏与java、c#的区别
- C#和C++的区别与注意(继续整理)
- c#与c++区别(一)
- 为什么 C,C++ 与 Java,C# 的 一个隐晦的表面 区别
- C#与C++对比学习1:基本语法区别