现代C ++变得更流行了吗?
当我6-7年前第一次学习C ++时,我所学到的基本上是“C with Classes”。 std::vector
绝对是一个高级话题,如果你真的想,你可以学习一些东西。 当然没有人告诉我可以利用破坏者来帮助管理记忆。 今天,在我看来,我看到了RAII和SFINAE,STL和Boost,以及现代C ++。 即使刚刚开始使用该语言的人似乎也从第1天开始就教授这些概念。
我的问题是,这仅仅是因为我只看到了“最好的”,也就是这里提到的关于SO的问题,以及其他倾向于吸引初学者(gamedev.net)的编程网站,或者这实际上代表了整个C ++社区?
现代C ++真的成为默认的? 专家们写的不是一些奇特的东西,而是变成了“C ++的方式”? 或者,我只是无法看到成千上万仍在学习“C with class”的人,而不是使用std::vector
编写自己的动态数组,并通过从顶级代码手动调用new / delete来进行内存管理?
尽管我想相信它,但如果整个C ++社区在几年内发展得如此之快,这似乎不可思议。 你有什么经验和印象?
(免责声明:对C ++不熟悉的人可能会误解标题为询问C ++是否比其他语言更受欢迎。这不是我的问题。“Modern C ++”是C ++中方言或编程风格的常用名称,以“现代C ++设计:应用泛型编程和设计模式“,我对此只对”旧C ++“感兴趣,所以不需要告诉我C ++的时间已经过去了,我们都应该使用Python;))
以下是我认为事情发展的方式。
第一代C ++程序员是C程序员,实际上他们使用C ++作为C的类。 另外,STL还没有到位,所以这就是C ++的本质。
当STL出来时,那些先进的东西,但大多数人写书,编排课程和教学班首先学习了C,然后是额外的C ++的东西,所以第二代从这个角度学到了东西。 正如另一个回答指出的,如果你习惯于定期编写循环,那么改用for_each并不会给你带来太多的收益,除非你以“现代”的方式来做事情。
现在,我们有教师和书籍作者一直在使用整个C ++,并从这个角度获得他们的指示,例如Koenig&Moo的Accelerated C ++和Stroustrup的新教科书。 所以我们不学习char *,然后std :: strings。
这是一个有趣的经验教训,需要多长时间才能替换“传统”方法,尤其是当他们有效的记录时。
绝对没错。 对我而言,如果你不是以这种“现代C ++”风格编程C ++,那么使用C ++就毫无意义! 你可能只是使用C语言。“现代C ++”应该是我认为C ++编程的唯一方式,我希望每个使用C ++并以这种“现代”方式编程的人都会同意我的观点。 事实上,当我听说一个C ++程序员不知道诸如auto_ptr或ptr_vector之类的东西时,我总是十分震惊。 就我而言,这些想法是C ++的基础和基础,所以我无法想象它有任何其他方式。
在Windows 3.1的日子里,C是标准。 当C ++触及开发者市场并且后来成为ANSI标准时,这就是新的热点。 它使用多态性来普及OOP的首字母缩略词和一些基本的设计模式。
现在,随着越来越多的低入门级管理平台(例如C#/ .NET)的采用,使用C ++的理由就越来越少。 如此多的开发人员基地将有一个选择,让我们诚实:C ++是一个新手学习的熊。 使用C#,你可以运行它。
这实际上只留下了需要C ++和顽固的C ++布道者继续实践艺术的平台。 这是需要并希望被认为是“现代C ++”的所有抽象层的社区。
所以是的,我相信“现代C ++”正如你所说的那样变得越来越流行。 尽管如此,它与过去使用它的观众不同。
链接地址: http://www.djcxy.com/p/40243.html