新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 本版讨论高级C/C++编程、代码重构(Refactoring)、极限编程(XP)、泛型编程等话题
    [返回] 中文XML论坛 - 专业的XML技术讨论区计算机技术与应用『 C/C++编程思想 』 → 晕菜求助:C#、C语言、C++之间到底是什么关系呀? 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 5936 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: 晕菜求助:C#、C语言、C++之间到底是什么关系呀? 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     winhaha 帅哥哟,离线,有人找我吗?
      
      
      等级:大二(研究汇编)
      文章:52
      积分:275
      门派:XML.ORG.CN
      注册:2007/6/24

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给winhaha发送一个短消息 把winhaha加入好友 查看winhaha的个人资料 搜索winhaha在『 C/C++编程思想 』的所有贴子 点击这里发送电邮给winhaha  引用回复这个贴子 回复这个贴子 查看winhaha的博客楼主
    发贴心情 晕菜求助:C#、C语言、C++之间到底是什么关系呀?

    C#、C语言、C++之间到底是什么关系呀?

       收藏   分享  
    顶(0)
      




    ----------------------------------------------
    Hello.大家好,我是新手,多多指教。要和我叫朋友的话,给我发个消息。嘻嘻......

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/7/30 18:27:00
     
     卷积内核 帅哥哟,离线,有人找我吗?
      
      
      威望:8
      头衔:总统
      等级:博士二年级(版主)
      文章:3942
      积分:27590
      门派:XML.ORG.CN
      注册:2004/7/21

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给卷积内核发送一个短消息 把卷积内核加入好友 查看卷积内核的个人资料 搜索卷积内核在『 C/C++编程思想 』的所有贴子 访问卷积内核的主页 引用回复这个贴子 回复这个贴子 查看卷积内核的博客2
    发贴心情 
    基本语法类似,所用写程序的工具不同。

    ----------------------------------------------
    事业是国家的,荣誉是单位的,成绩是领导的,工资是老婆的,财产是孩子的,错误是自己的。

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/7/31 8:20:00
     
     一分之千 帅哥哟,离线,有人找我吗?射手座1984-11-30
      
      
      威望:1
      等级:研一(随老板参加了WWW大会还和Tim Berners-Lee合了影^_^)
      文章:632
      积分:4379
      门派:XML.ORG.CN
      注册:2006/12/31

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给一分之千发送一个短消息 把一分之千加入好友 查看一分之千的个人资料 搜索一分之千在『 C/C++编程思想 』的所有贴子 引用回复这个贴子 回复这个贴子 查看一分之千的博客3
    发贴心情 
    有好多相似之处,但是不要把他们看作是有什么关系,最好是当作不同的语言来学。他们并不存在谁是谁的升级版 谁基于谁的关系。

    以下转来的
    ============
    C 语言与 C++ 的区别有很多:

    1,全新的程序程序思维,C 语言是面向过程的,而 C++ 是面向对象的。
    2,C 语言有标准的函数库,它们松散的,只是把功能相同的函数放在一个头文件中;而 C++ 对于大多数的函数都是有集成的很紧密,特别是 C 语言中没有的 C++ 中的 API 是对 Window 系统的大多数 API 有机的组合,是一个集体。但你也可能单独调用 API。
    3,特别是 C++ 中的图形处理,它和语言的图形有很大的区别。C 语言中的图形处理函数基本上是不能用在中 C++ 中的。C 语言标准中不包括图形处理。
    4,C 和 C++ 中都有结构的概念,但是在 C 语言中结构只有成员变量,而没成员方法,而在 C++ 中结构中,它可以有自己的成员变量和成员函数。但是在 C 语言中结构的成员是公共的,什么想访问它的都可以访问;而在 VC++ 中它没有加限定符的为私有的。
    4,C 语言可以写很多方面的程序,但是 C++ 可以写得更多更好,C++ 可以写基于DOSr程序,写 DLL,写控件,写系统。
    5,C 语言对程序的文件的组织是松散的,几乎是全要程序处理;而 C++ 对文件的组织是以工程,各文件分类明确。
    6,C++ 中的 IDE 很智能,和 VB 一样,有的功能可能比VB还强。
    7,C++ 对可以自动生成你想要的程序结构使你可以省了很多时间。有很多可用的工具如加入 MFC 中的类的时候,加入变量的时候等等。
    8,C++ 中的附加工具也有很多,可以进行系统的分析,可以查看 API;可以查看控件。
    9,调试功能强大,并且方法多样。

    C# 与 C++ 比较的话,最重要的特性就是 C# 是一种完全面向对象的语言,而 C++ 不是,另外 C++ 是基于 IL 中间语言和 .NET Framework CLR 的,在可移植性,可维护性 和强壮性都比 C++ 有很大的改进

    C# 的设计目标是用来开发快速稳定可扩展的应用程序,当然也可以通过 Interop 和 Pinvoke 完成一些底层操作,但是对于一些和底层系统相关很紧密的程序(譬如说驱动程序),还是建议用 C++ 来写

    C++ 不允许在一个构造函数中调用另外一个构造函数(称为委派构造函数调用),而 C# 则允许。委派构造函数调用语法上非常自然和易懂,事实上, C++ 不提供这一特性并不是出于语法上的考虑,而是出于资源管理的考虑(这样的事情对 C++ 来说还有很多很多)。

    C++ 的构造函数用于分配资源,而析构函数用于释放资源,构造函数和析构函数调用必须匹配,否则就打破了 C++ 的基本规则。如果允许委派构造函数调用,则显然会打破这一规则——构造函数被执行两次,而析构函数只执行一次。当然,对一些类,例如前面的那个 Point 来说这不是个问题,但是从语言机制的角度讲这个特性可能属于“危险”的特性。注:在最新的 C++ 标准提议草案中,Herb 等人有一个关于允许委派构造函数调用的提案,当然这很大程度上是为了方便 C++ /CLI 绑定。

    在 C++ 构造函数中,虚函数调用会被编译器自动转为普通函数调用,而在 C# 构造函数中允许进行虚函数调用。 C++ 这样处理自然有它的原因——在 C++ 中,构造函数执行完成后对象才初始化好,对于多态对象来说,也就意味着构造函数在背后执行了很重要的一件事情——初始化对象的虚函数表。

    如果我们在基类的构造函数中调用了虚函数,则因为此时对象的虚函数表仍旧是基类的虚函数表,所以无法进行正确的虚函数调用。
    也就是这个原因,通常我们应该避免在构造函数中调用虚函数,因为它违背了虚函数的语义。
    而在 C# 中,在对象的构造函数执行之前对象的类型信息就已经初始化好了,所以可以进行正常的虚函数调用。

    基本上,这些就是两者之间的区别

    ----------------------------------------------
    越学越无知

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/7/31 10:55:00
     
     taoyx 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(高数修炼中)
      文章:12
      积分:104
      门派:XML.ORG.CN
      注册:2007/8/9

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给taoyx发送一个短消息 把taoyx加入好友 查看taoyx的个人资料 搜索taoyx在『 C/C++编程思想 』的所有贴子 引用回复这个贴子 回复这个贴子 查看taoyx的博客4
    发贴心情 
    经典
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/8/9 11:00:00
     
     NingBo 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:4
      积分:90
      门派:XML.ORG.CN
      注册:2007/8/16

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给NingBo发送一个短消息 把NingBo加入好友 查看NingBo的个人资料 搜索NingBo在『 C/C++编程思想 』的所有贴子 引用回复这个贴子 回复这个贴子 查看NingBo的博客5
    发贴心情 
    简单地说,c是面向过程的程序设计语言,很早就出现了,70年代就开始了,同时期的还有一个经典就是pascal语言. 后来面向对象出现了,于是出现c++,实现了面向对象的3要素,封装继承多态.
    但是c和c++都有一个共同的问题就是内存问题,而且实际工作中一些应用项目用c和c++开发周期太长.于是java出现了.简单且内存不容易出错, ms为了跟java竞争,引出c#(sharp),将c++用java的思想重搞了一遍.
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/8/16 15:36:00
     
     motfar999 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:0
      积分:54
      门派:XML.ORG.CN
      注册:2007/9/4

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给motfar999发送一个短消息 把motfar999加入好友 查看motfar999的个人资料 搜索motfar999在『 C/C++编程思想 』的所有贴子 引用回复这个贴子 回复这个贴子 查看motfar999的博客6
    发贴心情 
    新手
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/9/4 9:07:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 C/C++编程思想 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2025/2/9 2:13:46

    本主题贴数6,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    8,251.953ms