只接受发布货源信息,不可发布违法信息,一旦发现永久封号,欢迎向我们举报!
1064879863
16货源网 > 餐饮行业新闻资讯 > 软件开发 >  为什么C++不能改成C#那样语法简洁一些?


为什么C++不能改成C#那样语法简洁一些?

发布时间:2019-09-02 15:23:34  来源:网友自行发布(如侵权请联系本站立刻删除)  浏览:   【】【】【
可以但没必要。首先你问出这个问题的时候,我想反问你一句,为什么你不用C#呢?每种语言都有适合自己的场景,C++刚出现的时候原本就是为了弥补C的不足(不支持面向对象),但是由于C++太火了,后来才独立出
为什么C++不能改成C#那样语法简洁一些?

可以但没必要。

首先你问出这个问题的时候,我想反问你一句,为什么你不用C#呢?

每种语言都有适合自己的场景,C++刚出现的时候原本就是为了弥补C的不足(不支持面向对象),但是由于C++太火了,后来才独立出来。[C++的发明者当时并没有直接写一个C++编译器,而是写了一个C++但C的转换器,再利用C的编译器进行编译]

而C在现在还依然如火如荼地存在这个时代的原因是因为好多底层需要精确控制。比如嵌入式开发,驱动开发等。

此外C/C++应用非常广泛的地方就是游戏了。尤其是大型游戏,对程序运行速度要求非常高,所以必须得是用C/C++开发。你可能知道安卓APP是用java开发的,但是安卓上的大型游戏,比如王者荣耀都是用C/C++开发的。

最后回答题主的问题,C#语法简洁就意味着编译器帮你干了原本你该干的事,而如果你是一个专业的程序员的话,编译器干的事肯定没你自己干的好。这样一来你程序的运行速度就会下降,一般来说C的运行速度是java的几十倍,而占用的内存是java的几分之一或者十几分之一。(java之所以这么慢还有一个主要原因就是它是在jvm上运行的,不是直接在硬件上运行的,C#也是在.net框架上运行的,所以速度应该也不咋地)

所以如果你对速度没什么要求的话完全可以采用C#来开发你的程序。

仔细看了你这个问题的描述,发现你还对string为什么不是默认类型和.h与.cpp分开写有疑问,对此有一个很好的解释就是C++最初的设计是为了兼容C的。(虽然C++发展到现在有些细节语法已经不再兼容C了)

string是不是基本类型我觉得没啥问题,你要是觉得c++的string不好用就敞开了说,反正吐槽的人多了去了。

至于h/cpp分离,这是涉及编译链接模型的大改动,module提案这么多年难产就是因为太多兼容性要考虑了。改可以,随时都可以,但是旧代码怎么办?

当然啦你其实不用分开写,全写到头文件里最后留个cpp做编译也不是做不到。

因为c++目前的主人c++标准化委员会没有自己的c++编译器。

它是一个类似联合国这样的东西,不是主权国家。一项提案,得交由委员会来表决,而委员代表的是各大公司的利益。这些大公司之间的利益分歧就成了阻碍c++发展的因素。

这跟java,c#,python这些主人有自己的编译器的情况完全不同。

而c++早期的主人AT&T有自己的c++编译器,所以c++就发展很快。

责任编辑:
热门阅读排行
© 16货源网 1064879863