C++为何依然不倒:解析其复杂性与持久性

发表时间: 2024-06-30 00:06

C++过于复杂为什么不被淘汰

C++过于复杂为什么不被淘汰?在开始前刚好我有一些资料是我根据网友给的问题精心整理了一份"C++的资料从专业入门到高级教程",全部无偿共享给大家!

如果你不考虑性能的话C++写起来挺爽的。不考虑性能就是说少用右值引用和移动语义,少去优化你的构造函数,能不用const就别去用。少去思考STL的内在实现vector一招鲜,别去思考里面的内存增长缩放,别去管reserve不reserve的,别去考虑各个模板内在实现的差异,别去管对象的内存数据分布,别去考虑cache miss不miss的问题,别去管inline不inline的问题,别去管万能引用,别去管完美转发,别去管鲁棒性别,去管萃取不萃取的问题,别去管placement new和new有啥区别的问题,别去管各种算法内在实现一个find走天下,别去思考各种Lcat实现有啥差异,别去思考深拷贝浅拷贝的问题,别去管哪些数据该放栈里面哪些数据该放堆里面的问题等等。

如果你不考虑这些问题,写C++可以像写python那样很爽,但是一旦你需要考虑上面这些问题,需要考虑怎样写出优秀的、高效的、鲁棒性强的代码,任何一个小的点可能都需要费很大的功夫。

所以事实上C++难就难在它可以提供很多种方案来达成我们的目的,但一百个人的实现可能有一百零一种方法,而这里面可能就一两种方法会比较好,其它的方法就是拿起石头砸自己脚,所以写C++很容易写好却很困难。