软件培训网

欢迎访问软件培训网!招生咨询电话与微信:15225191462(周老师)
软件培训网,专业解决学IT疑难杂症!

首页 > 网络技术/ 正文

C#好学吗?相比C++有哪些优势

2012-11-21 13:33:28 软件培训网

    C#好学吗学习c#首先要知道什么是c#。c#是微软发布的一种程序设计语言,C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性。我们看到有很多开发语言,像c++,那么c#好学吗?为什么学习c#?相比c++有哪些优势?I4t软件IT培训网-河南郑州IT培训
    C# 与 C++ 比较的话,最重要的特性就是 C# 是一种完全面向对象的语言,而 C++ 不是,另外 C# 是基于IL中间语言和 .NET Framework CLR 的,在可移植性,可维护性和强壮性上都比C++ 有很大的改进 I4t软件IT培训网-河南郑州IT培训
    C# 的设计目标是用来开发快速稳定可扩展的应用程序,当然也可以通过 Interop 和 Pinvoke 完成一些底层操作,但是对于一些和底层系统相关很紧密的程序(譬如说驱动程序),还是建议用 C++ 来写 I4t软件IT培训网-河南郑州IT培训
C++ 不允许在一个构造函数中调用另外一个构造函数(称为委派构造函数调用),而 C# 则允许。委派构造函数调用语法上非常自然和易懂,事实上,C++ 不提供这一特性并不是出于语法上的考虑,而是出于资源管理的考虑 I4t软件IT培训网-河南郑州IT培训
    C++ 的构造函数用于分配资源,而析构函数用于释放资源,构造函数和析构函数调用必须匹配,否则就打破了 C++ 的基本规则。如果允许委派构造函数调用,则显然会打破这一规则——构造函数被执行两次,而析构函数只执行一次。当然,对一些类,例如前面的那个 Point 来说这不是个问题,但是从语言机制的角度讲这个特性可能属于“危险”的特性。注:在最新的 C++ 标准提议草案中,Herb 等人有一个关于允许委派构造函数调用的提案,当然这很大程度上是为了方便 C++ /CLI 绑定。I4t软件IT培训网-河南郑州IT培训
    在 C++ 构造函数中,虚函数调用会被编译器自动转为普通函数调用,而在C#构造函数中允许进行虚函数调用。C++这样处理自然有它的原因——在C++中,构造函数执行完成后对象才初始化好,对于多态对象来说,也就意味着构造函数在背后执行了很重要的一件事情——初始化对象的虚函数表。 I4t软件IT培训网-河南郑州IT培训
    如果我们在基类的构造函数中调用了虚函数,则因为此时对象的虚函数表仍旧是基类的虚函数表,所以无法进行正确的虚函数调用。 I4t软件IT培训网-河南郑州IT培训
    也就是这个原因,通常我们应该避免在构造函数中调用虚函数,因为它违背了虚函数的语义。而在 C# 中,在对象的构造函数执行之前对象的类型信息就已经初始化好了,所以可以进行正常的虚函数调用。I4t软件IT培训网-河南郑州IT培训
    由此,我们可以看出,c#比c++有众多的优点,学习c#才有优势,学习起来更容易,微软提供的各种帮助文档也可以帮助我们更快的学习。I4t软件IT培训网-河南郑州IT培训
I4t软件IT培训网-河南郑州IT培训
本文由软件培训网整理,转载请注明:http://www.softpeixun.com
I4t软件IT培训网-河南郑州IT培训


Tags:郑州北大青鸟2018开班是什么时候,初中毕业能报郑州北大青鸟吗,郑州有哪些电脑培训学校,河南郑州技校排名,郑州动漫设计编程学校有哪些,北大青鸟学费情况洛阳

搜索
软件培训学校哪家好,就来软件培训网咨询
软件培训学校哪家好,就来软件培训网咨询
热门标签
软件培训学校哪家好,就来软件培训网咨询
软件培训学校哪家好,就来软件培训网咨询
软件培训学校哪家好,就来软件培训网咨询
  • QQ交谈