当我6-7年前第一次学习 C + + 的时候,我学到的基本上就是“带有类的 C”。std::vector绝对是一个高级的话题,如果你想学的话,你可以学到一些东西。当然,也没有人告诉我,可以利用析构器来帮助管理内存。
今天,我看到的所有地方都是 RAII、 SFINAE、 STL、 Boost,以及现代 C + + 。甚至那些刚刚开始学习这门语言的人似乎从第一天起就被教授这些概念。
我的问题是,这仅仅是因为我只看到了“最好的”,也就是说,这里的问题在 SO,在其他的编程网站,往往吸引初学者(gamedev.net) ,或者这实际上是代表 C + + 社区作为一个整体?
现代的 C + + 真的成为默认的了吗?它不是专家们所写的那些花哨的东西,而是正在变成“ C + + 的样子”吗?
或者我只是不能看到成千上万的人仍然学习“ C 与类”,编写自己的动态数组而不是使用 std::vector,并通过手动调用 new/delete 从他们的顶级代码进行内存管理?
尽管我很想相信,但是如果 C + + 社区作为一个整体在短短几年内就发生了如此大的变化,这似乎令人难以置信。 你的经历和印象是什么?
(免责声明: 不熟悉 C + + 的人可能会将标题误解为询问 C + + 是否比其他语言更受欢迎。这不是我的问题。“现代 C + +”是 C + + 中一种方言或编程风格的通用名称,以“ 现代 c + + 设计: 泛型和设计模式的应用”一书命名,我只对这个和“旧 C + +”的区别感兴趣。所以不需要告诉我 C + + 的时代已经过去了,我们都应该使用 Python;)