C #与C++的相同点和不同点

C, C++,C#的区别联系 开始学C#了,但一直很好奇C#C++,还有C的关系,因为他们在名字上真的是很像的,所以他们之间一定有某种神秘的关系对不对?哈哈,我查了些资料,但是也是五花八门,仁者见仁智者见智,综合了一下,写了篇总结,分享给大家,如有错误欢迎大神斧正。 一、三者关系:继承关系是C>C++>C#     C++完全向C兼容,C程序几乎不用修改即可在C++的编译器上运行.C++也称为带类的C,在C的基础 阅读详情

       从语言上讲,C#是C系统家族的东西,是C++的后续版,是对C++的发展,它一惯沿用了C++的思想,面像对像编程,等等,但又去除和限制了一些相对来说不好的技术,比如指针技术,从另一方面讲C++和C都是国际化的标准,有标准组织维护,它并不属于任何一个公司,但是C#去是微软自己在C++基础上扩充,发展出来的,C#并不是一个国际标准,它只是微软件的一家子之言.但从纯技术角度讲,C#在C++基础上扩充出来以后,或限制出来以后,更注重实际应用,思想上完全面像对像,限制掉了C++的一些东西,又增加了一些比如内存自动回收等功能,但这样一些功能的扩充,其实是限制了的C++版,在C#上编程,完全没有C++上自由,但这样一变去对软件开发效率思想上有很大的提高,所以C#是为了提升开发效率,和软件工业化的产物,相比之下,C#能作到的,C++都能做到,并且更完全,只不过C++更复杂

C#与.NET
        与C#一样.NET也是微软件独家的东西, .NET是微软件的一个平台,是微软的下一步战略,.NET是一非常大的战略,里面包含着非常非常多的东西,是一个远景目标,微软构架出来的一个未来框架,一个模糊面有庞大的框架,以后所有的东西都是.NET,包括家电,手机,等所有人类身边的长智能设备通过网络连接成一个有机体,成为.NET.它到底是什么,比尔盖茨目前自己也说不清楚,说得都是含糊其词,曾经有很多要在学.NET之前想弄清概念都失败了,其实他就是一个微软未来对的发展框架和,未来软件体的框架,而目前正在实现这一目标, 作为.NET的的核心编程语言就是C#,也就是说微软件发展的C#语言是为了专为.NET服务的,C#是专门编写.NET软件的语言, 
        在.NET初期,也就是我们现在用的.NET技术,其实和普通的编译没有什么两样,只是在WINDOWS开发环境上需要额外地装上.NET的类库,以扩充功能,增加.NET API调用,说浅点就是增加一些函数一样,.NET的程序最底层就是调用这些.NET API实现功能的,这个类库被称为Framework软件扩充包,在微软主页下载后安装就可以用运行.NET软件了,如果是WIN2003,不用装,系统本来就自带了类库的,所以现在看来C#是调用Framework的语言. 


       再说VB,VB也是微软的开发工具,VB语法源于以后的BASIC上改进来来,BASIC本来就是基本的意思,所以BASIC一直是最简单的软件开发语言,那时候几乎所以学软件开发的人都从BASIC学起,但是,BASIC基本上是一种教学语言,在实际开发上很少用,因为过于简单,只是一种引人入门的工具,进入WINDOWS操作系统时代后,微软改进扩充了原来BASIC语言,成为开发WINDOWS的语言,可视化的 BASIC简单称VB,VB有着极简单的语法,和结构,使人用VB入门非常的快,快是基于这一点,VB在功能复杂的大型项目地方基本上没法使用,这是VB的历史,还有VB的应用平台是WIN32系统,非.NET系统,也就是说VB跟VC是同级的平台开发工具,VB开发的程序在.NET上无法运行,也就VB跟C#不能比了,因为他们运行在不同平台上;还有就是后来的VB.NET,也是VB扩展到.NET平台上使用,但是这就有一个非常严肃的问题,当人们进入.NET时代后,照微软的说法,在.NET世界里,已经没有了语言为大时代,全部都是.NET,实际上VB.NET和VB已经改得面目全非,已经不是昨日的VB,基本上VB的程序员在.NET已经被抛弃了
总结的说VB和C#在技术上没有可比性,因为不是属于一个比台,那要比就比较WIN32和.NET的比较, 要么比就是VB语法与C系列语法的比较

        还有,基本上所有的人都认为.NET的出现是为了跟JAV A竟争,这也不可否认,JAVA最近,热得汤手,微软早就看重了这个竟争对手,搞出.NET与其争市场,至于与JAVA争什么,那就各有看法,JAVA是95年出生的,带着美好的前景,诞生,但是在长达十几年的时间里,它几乎没什么出息,整天就是自吹自擂的夸平台性,等等.但是一直被人认为是鸡肋,直到近几年才火起来,但是与JAVA同期出生的技术,比如FLASH等,已经早已成功的技术应用,JAVA为什么突然变热,有人认为JAVA发展到今天,已经非常庞大了,家族大得成一个帝国一样,分类多,特别是J2EE应用,注重软件构架设计,复合了未来软件开发的方向,还因为索取JAVA原始开发包是免费的,还一部分人人为JAVA是炒作的结果,都是世界级的大IT集团在炒,本来从纯技术上来说JAVA的技术谈不是什么多大的进步,但是炒的人多了就热了,如果是这样,那么再发展下去,JAVA依然不会有进步,直会一步步走向畸形,但是世界上那么多的IT集团,比如IBM等为什么要炒JAVA,一个比较直观的观点认为这是世界IT巨头需要寻找一种跟微软抗怛的东西,这点无疑JAVA最合适的人选.不管怎么说JAVA已经活了,我们就必须面临程序员的选择,我们目前作的方向是C#与JAVA的选择,而不是C#与VB的选择

        但要补充一句的是,不管是C#还是JAVA,他们应用的思想,技术,是多么的相像,特别是对开发人员角度看,除了所需要的平台不一样,基本上,那些语法,和思想太像了,如出一辙,这是为什么呢,原来不管是C#还是JAVA,他们的技术思想都源于DELPHI,大多数主要技术是从DELPHI发展上来的,或者是盗版过来的,DELPHI是Borland公司的WIN32开发工具,曾是人类所用最高效快速强大的开发工具,它里面首先用用了很多新技术,后被C#等应用,但悲惨的是Borland公司是拥有世界上最先进的技术人员和最糟糕的管理人员的公司,由于管理者经营不善,正在面临生死关头,而开发DELPHI的主要技术人员,包括DELPHI的主工程师都被微软高薪挖走去设计C#,所以在用过DELPHI的人眼中,C#,DELPHI其实就是一个妈妈生的两个孩子,

C语言人生函数的对比,使用,参数详解 相同点:映射关系:两者都定义了一种输入输出之间的关系。在数学中,函数f(x)将一个或多个变量映射到一个确定的值;而在C语言中,函数接收参数并根据这些参数执行一系列操作,最终可能返回一个结果。抽象化:无论是数学还是编程中,函数都是一种抽象化的工具,用于简化复杂问题,通过模块化的方式处理特定任务。命名约定:在数学C语言中,我们都会给函数起一个名字来标识其功能。不同点:执行方式:数学函数是静态的概念,它仅仅描述了一个计算过程,不涉及具体的执行环境。 阅读详情

相关推荐

Vscode + QT + CMake:高效开发环境搭建全攻略

本文详细介绍了如何搭建Vscode+QT+CMake高效开发环境,涵盖环境安装、配置优化及项目创建全流程。通过整合Vscode的轻量化编辑、QT的跨平台GUI开发以及CMake的现代构建管理,该组合特别适合大型QT项目跨平台开发团队,能显著提升开发效率。

weixin_30338481的博客 494

C#C++相似以及参照javaC++来学习C#

今天突然有一个感觉就是,单纯就语言角度来讲,C#C++有非常之大的相似性。   从程序员编程角度讲,他们都保留了可以说C语言所有的规范,譬如指针等不安全代码,但又补充了c语言的不足,譬如C++的stl类库,还有C#的很多的函数库。所以学习C#语言的话,我觉得完全可以参照着C++来进行。 C#java其实是有很大的不同的,因为C#C语言可以说是一脉相承,基本的东西,程序员用的都一样,但是

833

C++C#的区别相似之处

这些示例代码只是表面上的语法展示,实际上,C++C#还有更多复杂的特性功能,例如异常处理、文件操作、网络编程等,它们超出了本文的范围。本文将详细介绍C++C#之间的区别相似之处,并提供一些相应的源代码示例。平台依赖性:C++代码可以在多个平台上进行编译执行,包括Windows、LinuxMac等,而C#主要运行在CLR上,因此更依赖于Windows平台。语法结构:C++C#的语法结构在某些方面相似,都使用类似的分号作为语句结束符号,使用花括号来表示代码块,并使用关键字来声明变量、定义函数等。

PixelProX的博客 518

C++C#的区别联系

语法结构上,C++C#基本上相同,只有以下方面有所区别: 1、继承:C++支持多继承,C#类只能继承一个基类中的实现但可以实现多个接口。2、数组:声明 C# 数组声明 C++ 数组的语法不同。在 C# 中,“[]”标记出现在数组类型的后面。3、数据类型:在C++中bool类可以整型转换,但C#中bool 类型其他类型(特别是 int)之间没有转换。long 类型:在 C# 中,long ...

Jasonshieh 4092

浅谈——C++C#差异

虽然这个话题看着似乎有些关公战秦琼的味道,但是作为游戏开发者,C++C#一定是绕不开的两门语言。不过虽然说是比较二者差异,因为我学习的过程主要是先学C++,所以我先基于C++的认知,再来聊聊C#之中的不同。(为什么会想到写这个帖子是因为我发现老是记混二者名字相同但是底层完全不同的概念,只能说很烦)讨论差异之前,我们先来聊聊大体上二者的相似之处。二者都是编译执行的强类型语言,都是基于OOP思想,都支持泛型。我们首先来聊第一个不同的点——C++的指针。

lastXuanGod的博客 3558

浅谈cc++c#之间的关系

综上所述,C、C++C#之间确实有很多的联系差异,每种语言都有自己的优点缺点,应该根据实际应用场景需求去选择合适的语言进行开发。总体而言,C、C++C#都是非常重要的编程语言,并在不同的领域有着广泛的应用。对于程序员而言,学习C、C++C#等编程语言是非常值得的,从而可以更好的为自己的未来事业打好基础。

naer_chongya的博客 2479

C# Java相同点不同点总结

1、C# Java 都需要编译成中间代码,因此JavaC#性能上通常不如C++这类编程语言。(Javajavac编译成字节码,然后再由解释器逐条将字节码解释为机器码来执行。C#通过特定语言编译器将代码编译成 IL( intermediate language),然后通过 JIT(Just In Time) 将IL 翻译成机器码来执行。)2、C# Java 都是面向对象编程的语言,都能够实现面向对象的(封装,继承,多态)思想。3、C# Java都支持跨平台。

djwuhjwiwhe的博客 1708

C#JAVA相同点不同点

C#JAVA相同点不同点 C#JAVA的相同之处:由于C#JAVA都是基于C++发展起来的,因此二者之间具有很多相似之处,具体如下:  1、C#JAVA语言的编译结果是独立于计算机编程语言的,可执行文件可以在受管理的执行  环境中执行;  2、C#JAVA语言都是采用了自动的垃圾回收机制;  3、C#JAVA语言都取消了指针操作;  4

qq_22176697的专栏 1590

指针数组的异同及其所揭示的c/c++语言c#/Java数据存储的异同

指针数组的异同及其所揭示的c/c++语言c#/Java数据存储的异同

yiying0729的博客 1040

代码随想录算法训练营第三天 | 第454题.四数相加II|Python中的dictC里面的map相同点不同点总结

需要注意的是,C++中的示例使用了C++标准库中的map容器,实际使用中还可以使用其他容器,如unordered_map等。最后,通过for循环遍历map,打印出键值对的内容。在PythonC++中,dictmap是用于存储键值对的数据结构,但在语法实现上存在一些差异。键值的类型:Python的dict可以存储各种类型的键值,包括不同的数据类型对象。语言语法:dict是Python的内置数据类型,在Python中直接使用,而map是C++标准库中的容器,需要包含相应的头文件使用命名空间。

qq_42839893的博客 488

【C/C++】编译器 gcc / g++ C / C++ 的关系

最开始,gcc 指的是 GNU C compiler, 也就是一个 C 编译器。g++ 也就是 gcc ++, 是 C++ 的编译器。后来,gcc 项目里又集成了许多其他语言的编译器,gcc 成了一个编译器集合GCC,也就变成了 GNU Compiler Collection。g++ 就是 GCC 中的 C++ 编译器。 但是,在使用中,最常用的还是用 gcc 编译 C , 用 g++ 编译 C...

北境の守望者 4373

C++中getlineC中scanf、gets小结

 getline()的原型是istream& getline ( istream &is , string &str , char delim ); 其中 istream &is 表示一个输入流,譬如cin;string&str表示把从输入流读入的字符串存放在这个字符串中(可以自己随便命名,str什么的都可以);char delim表示遇到这个字符停止读入,在不设置的情况下系统默认该字符为

cr2066的博客 2057

c++l类

c++C#中定义类的方法异同之处: 1. 相同处:     1.1.都需要使用 class标识;     1.2.都包含有成员:函数,属性;     1.3.都有private public protect 标识的成员 2.不同之处:     2.2. C++申明类及成员时格式: class Member { public: void SetName(str...

weixin_34204057的博客 281

【Linux下的cpp】编译调试(gcc、g++、gdb)

【Linux下的cpp】编译调试(gcc、g++、gdb)

小雨的分享斋 2360

c、c++c# 结构体类的区别

<br /> <br />1. CC++中结构体的比较<br />C中的结构体C++中结构体的不同之处:在C中的结构体只能自定义数据类型,结构体中不允许有函数,而C++中的结构体可以加入成员函数。<br />C++中的结构体类的异同:<br />一、相同之处:结构体中可以包含函数;也可以定义public、private、protected数据成员;定义了结构体之后,可以用结构体名来创建对象。但C中的结构体不允许有函数;<br />              也就是说在C++当中,结构体中可以有成员变量

绿色心情的专栏 1270

C# C++ Java

C#是什么? C#发音为“C-Sharp”。它是由Microsoft开发提供的面向对象的编程语言,它在.Net Framework上运行。 我们可以使用C#编程语言开发不同类型的安全强大的应用程序,这些应用程序包括: 窗口应用程序 Web应用程序 分布式应用 Web服务应用程序 数据库应用等 C# 是被ECMAISO认可为标准。 C# 是为CLI(通用语言基础设施)设计的。 CLI是描述可执行代码运行时环境的规范。 C# 编程语言的语法设计思想受C++Java,E

wangprince2017 843

C#C++的异同

1.循环   同:都具有while,do-while,for三种循环结构,使用方法一样   异:C#引入了foreach,用于遍历集合中所有的元素   用法foreach(变量 in 变量,通常是一个集合)   {   循环语句   }   eg:   Int[] a={1,2,3};   foreach(int t in a)   {System.Console.W...

431

C 语言 C++C# 的区别

今天突然好奇C、C++C#这三门语言都有个C,那么它们之间到底有什么关联呢。所以就去Google了,找到了这篇文章:Understanding the Differences Between C#, C++, and C - C# Station。看完感觉写得挺好的,就打算翻译出来。 需要注意的是,本人技术十分有限,因此翻译的准确性可能有待商榷,建议有英语基础的同学,可直接阅读源站。 开始 如果你是一个有志向的程序员,那么你可能会很难决定先学哪门编程语言。世界上有相当多的编程语言,但是在C、C++

欢迎关注,共同进步! 5923

[EdgeAI] NXP eIQ 机器学习Toolkit (一):准备篇

eIQ™机器学习(ML)软件开发环境支持在恩智浦EdgeVerse™微控制器微处理器(包括i.MX RT跨界MCUi.MX系列应用处理器)上使用ML算法。eIQ ML软件包括称为eIQ Toolkit的ML工作流工具以及推理引擎、神经网络编译器优化库。............

HowieXue 薛永浩的博客 1万+

毕业设计 指针式仪表自动识别.zip

毕业设计 指针式仪表自动识别.zip

上一篇: 新股民零基础入市必读
下一篇: MSDN的Microsoft Virtual PC已装母盘系统(VHD)影像
supervise
博客等级 码龄22年 16粉丝 78原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值