`
jinvasshole
  • 浏览: 770048 次
文章分类
社区版块
存档分类
最新评论

C++和C#的语法和功能区别

 
阅读更多
下表包含 C++ 和 C# 功能之间的重要比较。如果您是一位 C++ 程序员,此表将为您提供这两种语言的最重要差异。
注意 C++ 和 C# 项目派生于不同的项目模型。有关 C++ 和 C# 项目之间差异的信息,请参见项目中的项管理和使用解决方案资源管理器。
功能 参考主题
继承:类只能继承一个基类中的实现。另外,类或接口可以实现多个接口。

数组:声明 C# 数组和声明 C++ 数组的语法不同。在 C# 中,“[]”标记出现在数组类型的后面。
bool 类型:bool 类型和其他类型(特别是 int)之间没有转换。
long 类型:在 C# 中,long 数据类型为 64 位,而在 C++ 中为 32 位。
struct 类型:在 C# 中,类和结构在语义上不同。struct 是值类型,而 class 是引用类型。

switch 语句:与 C++ 中的 switch 语句不同,C# 不支持从一个 case 标签贯穿到另一个 case 标签。
delegate 类型:委托与 C++ 中的函数指针基本相似,但前者具有类型安全,是安全的。
从派生类调用重写基类成员。

使用 new 修饰符显式隐藏继承成员。
声明重写方法需要有 override 关键字。
预处理器指令用于条件编译。C# 中不使用头文件。
异常处理:使用 finally 语句。

C# 运算符:C# 支持其他运算符,如 is 和 typeof。它还引入了某些逻辑运算符的不同功能。

关键字 extern 的使用。
关键字 static 的使用。
在构造基类上替代 C++ 初始化列表的方法。
C# 程序的常规结构:命名空间、类、结构、委托和枚举。
Main 方法和 C++ 中的 main 函数的声明方式不同。
方法参数:C# 支持 ref 和 out 参数,这两个参数取代指针通过引用传递参数。

在 C# 中只在不安全模式下才使用指针。 unsafe
在 C# 中以不同的方式执行重载运算符。
字符串:C# 字符串不同于 C++ 字符串。 string
foreach 关键字使您得以循环访问数组和集合。 foreach, in
C# 中没有全局方法和全局变量:方法和变量必须包含在类型声明(如 class 或 struct)中。
C# 中没有头文件和 #include 指令:using 指令用于引用其他未完全限定类型名的命名空间中的类型。
C# 中的局部变量在初始化前不能使用。
析构函数:在 C# 中,不能控制析构函数的调用时间,原因是析构函数由垃圾回收器自动调用。
构造函数:与 C++ 类似,如果在 C# 中没有提供类构造函数,则为您自动生成默认构造函数。该默认构造函数将所有字段初始化为它们的默认值。

C# 不支持位域。 C++ 位域
C# 的输入/输出服务和格式设置依赖于 .NET Framework 的运行时库。

在 C# 中,方法参数不能有默认值。如果要获得同样的效果,请使用方法重载。

分享到:
评论

相关推荐

    C++ 与 C# 数据类型对照(全)

    本人慢慢在网上各地收集及自己验证后总结的C/C++和C#的数据类型对照.没有完全 验证..组织部 类型太多了..要怪就怪C/C++的type define这个该死的语法 吧...

    C/C++和C#混合编程

    这是对C/C++代码 封装 可以用C#调用。事实上,C系列中还存在一种语言叫做托管C++,这种语言语法上和C++几乎一样,但是却和C#一样编译成为微软中间语言,这样就可以和C#良好地通信,即可以在c#中使用托管C++类

    C++转C#的自动工具

    这个程序是转C++程序为C#程序的,内置了部分DirectX方面的转换,你可以扩展其他方面的语法转换 真的,不坑爹,觉得的语言转换功能,虽然它只是一期工程。

    C++ Java C#.net VB.net 语法对比

    C++ Java C#.net VB.net 四种常用语言的各种语法对比,语法大全

    C#和C++的区别 自己网上找的

    C#是三大主流OOP(面向对象编程)语言(C++, Java, C#)之一,也是最新的一种,其中必然借鉴了前两者的长处,“否则它的缔造者就该打屁股”——候捷语,见《C# Primer 中文版》的译续:-) 它们三者有太多的共性,其语法和...

    C++方法转C#

    将C++写的方法复制到本软件,软件会自动生成C#语法,包括指针、字符串等,非常实用。

    C#语言参考-全面讲解C#基础语法

    C#是一种简单、现代、面向对象和类型安全的编程语言,由C和C++发展而来。C#(发音为“C霎普”)牢固地植根于C和C++语言族谱中,并且会很快被C和C++程序员所熟悉。C#的目标在于把Visual Basic的高生产力和C++本身的...

    C#课件-C#基本语法

    C#从C和C++派生而来,但却是完全重新开发的。微软公司借用了C和C++中一些已有的东西,并加入了新特性。这些特性使该语言更容易使用,其中的许多特性与Java极其类似。此外,它还结合了Delphi和Visual Basic的很多优秀...

    才C#于C++的差别

    C#于C++的差别 下表包含 C# 和本机 C++(它不使用 /clr)之间的重要比较信息。如果您是一位 C++ 程序员,此表将为您提供这两种语言的最重要差异。 1、继承:在 C++ 中,类和结构实际上是相同的,而在 C# 中,它们很...

    FastColoredTextBoxCF(C#代码语法高亮着色控件源码和样例)

    FastColoredTextBoxCF C#代码语法高亮着色控件源码和样例

    VB.NET与C#語法不同点对比表(經典)

    这篇文章主要讨论vb.net语言和c#.net语言在语法上的不同,vb.net和c#.net有一系列微妙的差异,变量的申明和赋值,数据类型,语句终止的方式,语句块的表述,使用的变量括号,操作符的不同,条件语句的不同,错误处理...

    c#语法大全.doc

    C#是一种简单、现代、面向对象和类型安全的编程语言,由C和C++发展而来。C#(发音为“C霎普”)牢固地植根于C和C++语言族谱中,并且会很快被C和C++程序员所熟悉。C#的目标在于把Visual Basic的高生产力和C++本身的...

    20060208pm--跟我一起学Visual Studio 2005(1):C#语法篇(上)

    Q:C#中的泛型和C++中的差别很大,限制也较多,比如要做“模板元编程”之类的高级用法,在C#根本就不可能。另外也不能彻底地解决集合类的性能问题,那么你认为到底C#中泛型的实际用处是什么呢?在下一版本中,.NET中...

    编写高质量代码之C#、C++_nodrm.azw3

    改善c#程序的157个建议》一共三个部分,第一部分专注于c#语言本身,一共89条建议,涵盖了c#语言基本要素、集合、linq、泛型、委托、事件、资源管理、序列化、异常处理、异步、多线程、任务和并行编程等与c#语法相关...

    代码管家代码片段记录管理保存工具软件,支持vb/c++/c#/php/java/python等语法高亮

    熟话说,不动笔墨不读书,尤其是学习编程,写过的东西一定要...语法高亮:支持目前主流编程语言,如java、python、c#、php、vb、c、c++等等编程语言语法高亮,同时支持深色主题和浅色主题 分类管理:支持代码分类管理

    C#入门经典第三版

    Microsoft.NET(以下简称.NET)框架是微软提出的新一代Web软件开发模型,C#语言是.NET框架中新一代的开发工具。...C#语法和C++和JAVA语法非常相似,如果读者用过C++和JAVA,学习C#语言应是比较轻松的。

    C#入门经典(中文文字版)_带目录

    们喜欢 C#的一个原因是其派生于 C/C++的简洁明了的语法,这种语法简化了以前一些给程序 员带来困扰的问题。尽管做了这些简化,但 C#仍保持了 C++原有的功能,所以现在没有理由 不从 C++转向 C#。C#语言并不难,也...

    C# 初级者天堂——入门教程

    Microsoft.Net(以下简称.Net)框架是微软提出的新一代Web软件开发模型,C#语言是.Net框架中新一代的开发工具。...C#语法和C++、JAVA语法非常相似,如果读者用过C++和JAVA,学习C#语言应是比较轻松的。

    改善C#程序的50种方法

    本身秉承了Scott Meyers的Effective C++和Joshua Block的Effective Java所开创的伟大传统,用真实的代码示例,通过清晰、贴近...有Visual Basic 6背景的开发人员在阅读本书之前,应该先熟悉C#语法和面向对象的设计。

    C#程序设计 一本不错的入门书

    一本C#的入门书籍! C#是一种安全的、稳定的、简单的、优雅...C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。

Global site tag (gtag.js) - Google Analytics