c#与c++的区别?
答案:5 悬赏:30 手机版
解决时间 2021-06-02 04:48
- 提问者网友:酱爆肉
- 2021-06-01 12:50
c#与c++的区别?
最佳答案
- 五星知识达人网友:鱼忧
- 2021-06-01 13:00
语法上没什么太大的区别,只是C#的开发效率比C++高很多。
全部回答
- 1楼网友:拾荒鲤
- 2021-06-01 17:06
C#与C++的区别还是很大的:
- 2楼网友:风格不统一
- 2021-06-01 15:35
1.继承:C++支持多继承,C#类只能继承一个基类中的实现但可以实现多个接口。
2.数组:声明 C# 数组和声明 C++ 数组的语法不同。在 C# 中,“[]”标记出现在数组类型的后面。
3.数据类型:在C++中bool类可以与整型转换,但C#中bool 类型和其他类型(特别是 int)之间没有转换。long 类型:在 C# 中,long 数据类型为 64 位,而在 C++ 中为 32 位。
4.struct 类型:在 C# 中,类和结构在语义上不同。struct 是值类型,而 class 是引用类型。
5.switch 语句:与 C++ 中的 switch 语句不同,C# 不支持从一个 case 标签贯穿到另一个 case 标签。
6.delegate 类型:委托与 C++ 中的函数指针基本相似,但前者具有类型安全,是安全的。
7.从派生类调用重写基类成员。 base
8.使用 new 修饰符显式隐藏继承成员。
9.重写方法需要父类方法中用virtual声名,子类方法用override 关键字。
10.预处理器指令用于条件编译。C# 中不使用头文件。 C# 预处理器指令
11.异常处理:C#中引入了 finally 语句,这是C++没有的。
12.C# 运算符:C# 支持其他运算符,如 is 和 typeof。它还引入了某些逻辑运算符的不同功能。
13. static 的使用,static方法只能由类名调用,改变static变量。
14.在构造基类上替代 C++ 初始化列表的方法。
15.Main 方法和 C++ 及Java中的 main 函数的声明方式不同,Main而不能用main
16.方法参数:C# 支持 ref 和 out 参数,这两个参数取代指针通过引用传递参数。
17.在 C# 中只能在unsafe不安全模式下才使用指针。
18.在 C# 中以不同的方式执行重载运算符。
19.字符串:C# 字符串不同于 C++ 字符串。
20.foreach:C#從VB中引入了foreach关键字使得以循环访问数组和集合。
21.C# 中没有全局方法和全局变量:方法和变量必须包含在类型声明(如 class 或 struct)中。
22.C# 中没有头文件和 #include 指令:using 指令用于引用其他未完全限定类型名的命名空间中的类型。
23.C# 中的局部变量在初始化前不能使用。
24析构函数:在 C# 中,不能控制析构函数的调用时间,原因是析构函数由垃圾回收器自动调用。 析构函数
25构造函数:与 C++ 类似,如果在 C# 中没有提供类构造函数,则为您自动生成默认构造函数。该默认构造函数将所有字段初始化为它们的默认值。
26.在 C# 中,方法参数不能有默认值。如果要获得同样的效果,需使用方法重载。
其实有很多相通的地方。希望对你有所帮助。
- 3楼网友:怙棘
- 2021-06-01 15:18
都是面向对象编程语言,都是牛B的语言,C#是在参考了好几种语言的优劣后取长补短开发出来的,其中就包括了C++,所以它们之间是大同小异。
- 4楼网友:轮獄道
- 2021-06-01 13:43
C#是用来做应用程序和软件的,优点就是快速开发,有功能强大的.NET FRAMEWORK的支持.
而C/C++是用来做系统程序的,(也能做应用软件,但没有C#方便),优点很多,比其它的高级语言更容易对内存,以及作系统底层相关的开发,比起汇编语言,它具有良好的可移植性.
就看你是想发展哪方面了,还有一点不得不说,C#主要在microsoft Visual stdio.net下得以应用,目前不能在linux以及其它的操作系统下用(因为据我所知C#编译器只是在集成在.NET环境下有,其它的没有听说过),而且microsoft开发出来.net时说.net会牛十年,所以那个时候C#可能就不像现在这样作为市场上的主流开发语言了,它的结果如何谁也不知道,但是C/C++是纯粹就是一门计算机高级编程语言(其实它应该是介于汇编语言和高级语言之间的计算机编程语言),它没有局限在任何的OS,编译器,再加上其它强大的开发能力,是不会被淘汰的,计算机编程语言发展的规则是向更高级,易开发,更方便的方向发展的,不会再发展出一个像C一样的系统底层开发语言,所以学好C/C++还是很必要的,但如果你不想做这些系统底层开发工作,也就不用对C进行太深入地研究了,在编程方面应该对算法以及数据结构进行深入学习.
现在的高级语言如C#,主要把它的语法,也就是编程方法学会,然后对其编程机制进行一些学习就够了,重要的是其它的东西,如学C#更重要是的对.NET FRAMEWORK机制的了解,大部分的高级语言(C/C++/JAVA例外)就是这样,其实并不是特别特别重要,关键是编程思想
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯