C++与C#的区别是什么?学完C#之后在学C++的话,是不是简单点啊 

解决方案 »

  1.   

    C++比C#难 建议lz先学C++再学C#容易些 
      

  2.   

    我们刚开始学的时候就直接学的C#,让后是.NET
      

  3.   

    1,C#不支持多重继承,这是与C++明显区别的地方,说真的多重继承有时候用起来挺麻烦的,可能微软怕你用不好吧,不给你提供了,但我个人觉得没有了多重继承感觉有点可惜。2.在标准的C#安全代码中不支持指针类型的操作,然而,你却能在微软所谓的“非安全代码”中操作指针类型对象。3.C#中所有对象都只能通过关键词“new”来创建,C++的“类名_对象名”方式在C#中变为声明一个引用。呵呵,万物皆对象,连常见的数据类型都变为对象了,JAVA味道很浓。4.数组变为了类,因此对于数组里的元素,.NET Framework直接提供了一系列的操作:查找、排序、倒置……5.在C#里面,数组的元素都是存放在托管堆里面,比起C++的在内存里不确定位置申请一块连续空间要安全得多。6,C++的switch后跟参数必须是int型,而C#却允许string型,这点改进觉得真的是比以前方便多了!7.C#会禁止所有switch..case语句的失败情形,除非case语句后是空格,否则执行了前一个case语句就算没有break也会停止执行后面的case语句。8.在异常处理上,C++允许抛出任何类型,而C#中规定抛出类型为一个派生于System.Exception的对象。9.C++的宏在C#中被抛弃了很多,而且也不建议使用,因此很少见。10.C++的模板在C#里没有了,但在C#中我们找到了能完成模板任务的更锋利的武器:委托。11.C++的全局变量这一概念没有了,C#和JAVA类似,要把所有东西都放在类里面,还建议使用命名空间包含起来。12.C#可以在定义类的时候直接给属性赋值,而C++这么做却会编译出错。13.C#里有静态构造函数一个概念,这个构造函数只执行一次,因此能够保证一些静态成员只被初始化一遍。14.C#有自动垃圾收集机制,防止内存泄露,把C++程序员从繁重的内存管理上解放出来。15.更强的类型转换保护机制,比如说把float转成uint,直接转换0.35会变成0.34,是因为二进制无法表示这样的数字,使用System.Conver里的方法,可以安全地把类型安全转换过来。16.委托与事件、装箱与取消装箱、Web Services……一大堆C++没有的新东西,我感觉是做大型项目方便了管理,也容易扩充,但做起小型项目,由于是编译成IL代码的,运行需要.NET Framework SDK支持,效率是个问题,不利于做那些对运算速度和内存消耗要求高的项目。
    文章出处:DIY部落(http://www.diybl.com/course/4_webprogram/asp.net/asp_netshl/2008316/104886.html)
      

  4.   

    那就专心学习C#吧
        C#可以写出C++同样功能的代码
      
      

  5.   

    恩 专心学C#吧。如果对C++也感兴趣,可以当做一门全新的语言学,这两者基本没什么共通性的。不过学了C++可以帮助你更好的理解计算机的工作方式,以及C#里面所谓的值类型和引用类型,ref,out等。
      

  6.   

    .C++的模板在C#里没有了,但在C#中我们找到了能完成模板任务的更锋利的武器:委托。是委托吗?是不是泛型?
      

  7.   

    我的方向也是.NET,但是我觉得直接学C#还是不太好,就像是只会开车,不会走路了一样