首页 文章详情

C++,真的恐怖!

小林coding | 317 2021-11-11 13:42 0 0 0
UniSMS (合一短信)

大家好,我是小林。

C++ 从名字看我们也看得出来,它是在 C 语言之上引入了新的特性,当然新加入的特性是为了解决C语言中的各种不完美和缺陷。我这里举几个例子:
  • 用 namespace 解决了很 C 函数重名的问题;

  • 用const/inline/template代替了#define宏定义,解决了 C语言中宏的各种坑;

  • 用引用代替指针,解决了 C 语言中指针的各种坑;

  • 用构造,析构,拷贝构造,赋值重载,解决了 C 语言复制结构体中浅拷贝的内存问题的各种坑;

  • 用RAII,智能指针的方式,解决了C语言中忘记释放资源的各种坑;

  • 用 STL 解决了C  语言中算法和数据结构的各种坑;

引入了这些新特性,从很大程序解决了 C 语言不足之处,但是这些新特性理解不够深刻的,也会写出糟糕的代码。
如果你想了解 C++ 的一些坑,可以去看看《Effecitve C++》里的 50 多个条款,这本书讲解了很多 C++ 各种问题的解决方法和一些常见的经典错误,而且这本书也告诉我们 C++ 是怎么解决 C 的坑的,还有两本类似的书,比如《Exceptional C++》和《More Exceptional C++》。
如果我问大家世界上最好的语言,大家肯定说 PHP,但如果我问大家世界上最难学的语言,我想大多数人会说 C++。下面是一个 C++ 程序员在学习过程序中的一个自信心曲线图:
C++并不是一门速成的语言,它需要长时间的持续学习和磨练,而且学的越多会觉得自己不知掉的越多,不然也不会有工作十年的  C++ 开发工程师说:「我了解  C++」而且就连他的创始人 Bjarne Stroustrup 都说自己有时候看不懂这门语言了。
现在很多线下的图书中心,热销的编程书籍很多都是打着 xx 天教你学会 xx 语言,我也看到过《21天学通C++》这本书。对于这类书的标题,有人恶搞了这么一幅图:
如果你真的打着21天学通 C++ 的想法,小心在第 21 天的时候,小心被穿越回来的自己。。。。
学习一门技术,并不能抱着速成的心态去学,不然就陷入一知半解状态,这个状态是很危险的,Linus曾说过:“C++是一门很恐怖的语言,而比它更恐怖的是很多不合格的程序员在使用着它”。
为了成为一个合格的 C++ 程序员,应该要抱着十年的时间去不断尝试,并在错误中总结经验教训,通过阅读 C++ 经典好书和优秀的开源代码来磨练自己。
关注我的读者不少是做 C++ 的,我最近发现了一个 C++  技术社区「C++开发者俱乐部 IncrediClub」,里面的技术氛围很浓好,有很多海外的技术专业,在这里也推荐给大家。
Incredibuild 致力于加速 C++ 的开发进程,同时也致力于分享知识与经验——海内外专家论坛、技术博客白皮书、C++技术实战教程,还有丰富的品牌定制礼品与福利。
目前他们正在举办第一期活动,邀请了非常多的行业大佬来分享 C++ 开发经验,可有扫描一下海报上的二维码参加这次活动。

PS:IncrediClub 是一个针对中高级C++开发者的技术社群,旨在聚集C++领域优秀开发者及内容创作者,定期邀请海内外技术专家进行线上分享、传播技术资料,让更多的开发者了解 Incredibuild 并分享品牌福利。
good-icon 0
favorite-icon 0
收藏
回复数量: 0
    暂无评论~~
    Ctrl+Enter