社区
C#
帖子详情
c#和C++的区别
happyxzxin
2008-06-26 08:39:47
都说c++能开放底层的东西,c#不可以吗?
...全文
14729
6
打赏
收藏
c#和C++的区别
都说c++能开放底层的东西,c#不可以吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
number1170196649
2012-10-10
打赏
举报
回复
[Quote=引用 3 楼 的回复:]
总结的还算全面,学习了。对于内存泄露,安全性问题还没有给出吧。
1.继承:C++支持多继承,C#类只能继承一个基类中的实现但可以实现多个接口。
2.数组:声明 C# 数组和声明 C++ 数组的语法不同。在 C# 中,“[]”标记出现在数组类型的后面。
3.数据类型:在C++中bool类可以与整型转换,但C#中bool 类型和其他类型(特别是 int)之间没有转换。long 类型:在 C# 中,long 数据类型为 64 位,而在 C++ 中为 32 位……
[/Quote]
赵一一
2008-06-26
打赏
举报
回复
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# 中,方法参数不能有默认值。如果要获得同样的效果,需使用方法重载。
其实有很多相通的地方。希望对你有所帮助。
pennymay
2008-06-26
打赏
举报
回复
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的转变对开发者来说可能是痛苦的(因为要学习很多新的东西),但也充满了机会。
sjm2003
2008-06-26
打赏
举报
回复
各种语言有各种的长处,不能硬把某种软件去做其它软件能做的事情。C#开发底层貌似可以,但是肯定没有C++开发的好。
fuadam
2008-06-26
打赏
举报
回复
c#操作内存能力很差,不过还是可以做串口,usb,tcp编程的
shadowgreen
2008-06-26
打赏
举报
回复
学习了····
up
AutoCAD二次开发文档(
C++
C#
史上最全版本)
目前收集到关于AutoCAD二次开发最全的文档。 也包括张帆 超清晰版PDF可复制代码的文档及源代码 还有.net CAD二次开发
程序员/设计师能用上的 75 份速查表
75 份速查表,由 vikas 收集整理,包括:jQuery、HTML、HTML5、CSS、CSS3、JavaScript、Photoshop 、git、Linux、Java、Perl、PHP、Python、Ruby、Ruby on Rails、Scala、
C#
、SQLite、
C++
、C语言、Ubuntu、WordPress、Node.js、Oracle、NMAP、Mac OS X、Haskell、Unicode、PostgreSQL、Lisp、Matlab 等。
C#
和
C++
区别
转自:https://www.cnblogs.com/shaozhuyong/p/5948674.html 1、函数返回值类型:
C#
里返回值基本上可以使任何类型,
C++
则不行,
C++
的函数返回值类型必须是除了函数和数组类型之外的其他任何类型。 2、switch(参数类型):
C#
参数类型可以是任何类型,
C++
则必须是整形。 3、数组: 以定义一个int类型的...
C#和
C++
的
区别
C#和
C++
的
区别
是: 1、C#代码首先会被编译为CLR(公共语言运行库),然后由.NET框架解析,它是在虚拟机上执行,会自动进行内存管理,不支持使用指针; 2、
C++
将会直接被编译为机器代码,允许使用指针,需要手动组织管理内存。
C#
和C ++的
区别
详细说明 1、编译
区别
C#代码首先会被编译为CLR(公共语言运行库),然后由.NET框架解析。 C ++代码将会直接被编译为机器代码。 2、内存管理的不同 C#是在虚拟机上执行,会自动进行内存管理。 C ++需要手动组织管理..
C#
和
C++
的
区别
综上所述,
C#
和
C++
在语法、应用领域和特性方面存在一些差异。选择使用哪种语言取决于项目需求、目标平台、开发团队技能和个人偏好。如果你更关注开发效率、快速原型实现以及跨平台和移动应用开发,
C#
可能更适合。而如果你需要更底层的控制能力、对性能要求较高或者需要与现有的C/
C++
代码进行交互,那么
C++
可能更适合。
C#
(C Sharp)和
C++
是两种不同的编程语言,在语法、特性和应用领域上存在一些
区别
。
C#
111,078
社区成员
642,570
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章