Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/130.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C和C++;关于C_C#_C++_C - Fatal编程技术网

C# C和C++;关于C

C# C和C++;关于C,c#,c++,c,C#,C++,C,我从来没有使用C或其他什么编程,但我经常使用这个网站,所以你可以想象我经常遇到他们。由于我不太懂这些语言,这是谷歌无法回答的问题 简单地说,这两种语言之间的区别是什么。我想他们是有关系的。我所知道的是C++是面向对象编程的一个原因。当您编译C应用程序时,您会得到可执行字节码机器代码,可以在您编译的任何平台上运行 C++在C语言中增加了面向对象的开发 C#是一个远亲,只是在语法上有点相似(以及语言名称中的字母C)。C#编译成.NET IL,由.NET运行时及时编译(就像.NET语言家族的其他语言一

我从来没有使用C或其他什么编程,但我经常使用这个网站,所以你可以想象我经常遇到他们。由于我不太懂这些语言,这是谷歌无法回答的问题


简单地说,这两种语言之间的区别是什么。我想他们是有关系的。我所知道的是C++是面向对象编程的一个原因。当您编译C应用程序时,您会得到可执行字节码机器代码,可以在您编译的任何平台上运行

C++在C语言中增加了面向对象的开发


C#是一个远亲,只是在语法上有点相似(以及语言名称中的字母C)。C#编译成.NET IL,由.NET运行时及时编译(就像.NET语言家族的其他语言一样)。

它们的名称看起来很相似,因为它们的语法看起来很相似


可以说,C与这三种语言最为不同。它实际上是一种高级汇编语言,可以为多处理器体系结构进行编译。(哪个程序集通常不能)

它们在语法上是松散相关的

一般来说,C++给C增加了大量的能力,主要是面向对象和泛型编程结构。然而,它这样做是为了尽可能地保持与C的向后兼容性

另一方面,C#是一种完全不同的动物。它完全放弃了向后兼容性的所有尝试,并且更多地试图保持与C++的表面、句法相似性。
然而,实际上,这三种语言都非常独特。C语言与C++对C语言的开发有很大的不同,因为支持库和技术的差异很大。

<代码> C++ >代码>除了提供了许多功能之外,还可以使用<代码> C/代码>语言来帮助编写面向对象程序。任何面向对象程序都很容易被改写为非面向对象编程,即使是在C++或C语言中。具体的OOP功能包括:

  • 函数重载:intfoo(int);和int-foo(char)
  • 运算符重载
  • 继承权
  • 多态性
  • 模板(技术上不限于OOP)
  • 除了名称和使用类似的语法外,

    C与C或C++没有真正的联系。在C覆盖下,C完全不同于C和C++。


    C#深受Java的启发。

    C是基本编程语言。它对于低级编程非常有用,虽然您可以使用它进行高级面向对象编程(OOP),但这样做会有点“冗长”。非常适合于嵌入式编程和尝试使事情变得非常高效

    C++基本上采用了C语言,并将其变成了一种面向对象的编程语言。语法略有不同,但总体上非常相似。这使得进行更高级别的编程变得更容易,但同时仍然可以编写高效的代码。很适合编写游戏引擎之类的东西。需要高效,但是没有OOP的编程将是非常艰苦的


    依我看,C和其他两个最不一样。它具有相似的语法,但几乎完全是面向对象的。它非常适合编写.Net应用程序。有利于快速编写GUI,无论是在Windows和Web开发中,在效率低于目标的情况下,比试图快速地将产品推向市场的情况下,

    < P> C和C++最相似;C++几乎直接从C派生出来,添加了一些新的语法和语义来支持面向对象编程。与C一样,除了基本的面向流的I/O之外,它不提供内置支持;任何涉及位图图形、声音、网络等的操作都必须使用第三方库完成。两种语言的程序都倾向于作为本机机器代码编译和运行


    C比C或C++更类似于java;与java一样,它倾向于编译到一个字节码中,而不是在本地代码中运行,而java则试图支持C++和C++所不具备的所有东西。java和C++类看起来像C和C++一样(它们使用了很多相同的关键字、分隔符等),但是在和它们玩了一会儿之后,你会发现它们是非常不同的语言。P> > P>从C++背景下工作在C++ Windows应用程序中大约四年后,然后切换到C语言,我可以告诉你C++和C语言的语法非常相似。然而,C#有一些很酷的速记功能,这在C中是不可用的

    <> P>最大的区别不是在SytOrm中,而是在库、框架或任何你想称之为的东西——忽略托管C++。当你在C++中编码时,你通常需要决定你所使用的平台以及你计划使用的库类型。当我使用C++时,我使用微软基础库。然而,还有更多的选择。同样,对于井手计划使用的类型,C++有更多的选择。使用C#时,您通常只使用Visual Studio和.Net framework,除非您使用Mono进行编码

    还因为C++使用了非常丰富的.NET框架,所以很容易开始编写通常在C++世界中为Guru预留的程序。当然,您也可以使用使用.NETFramework的托管C++,但我必须问:为什么? 我故意在讨论中忽略了C,因为我从未在专业水平上使用过它。我可以这么说,尽管我看到的用C编写的代码非常丰富。不仅因为它是程序性的,而且因为许多编码标准非常精确,但无法读取。我不认为这是必须的,它只是以一种非常不可读的风格写的。这也可能是因为我长期从事面向对象编程的经验。

    把C想象成曾经的工作