Modern C++ 大大提高了开发效率,这点毫无凝问!
说下提升开发效率的一些语法糖:
1. if/switch 初始化语句- //before
- auto*tmp = parseExpression();
- if(tmp!=nullptr){
- work();
- }
- //after
- if (auto* tmp = parseExpression(); tmp != nullptr) {
- work();
- }
复制代码 2. 结构化绑定- std::tuple<int,string> nextToken(){
- return {4,&#34;fallthrough&#34;};
- }
- //before
- int main() {
- auto token = nextToken();
- std::cout<<std::get<int>(token)<<&#34;,&#34;<<std::get<std::string>(token);
- return 0;
- }
- //after
- int main() {
- auto[tokenType,lexeme] = nextToken();
- std::cout<<tokenType<<&#34;,&#34;<<lexeme;
- return 0;
- }
复制代码 3. std::string_view- //before
- void isKeyword(const std::string & lit){
- work();
- }
- //after
- void isKeyword(std::string_view lit){
- work();
- }
复制代码 4. 内联变量- // A.h inline int k = 10; //不需要为一个简单的变量分一个.cpp写定义了
复制代码 5. 折叠表达式和泛型lambda- //before
- if(x==&#39;x&#39;||x==&#39;X&#39;||x==&#39;e&#39;||x==&#39;E&#39;||x==&#39;.&#39;){
- work();
- }
- //after
- static auto anyone = [](auto&& k, auto&&... args) ->bool { return ((args == k) || ...); };
- if(anyone(x,&#39;x&#39;,&#39;X&#39;,&#39;e&#39;,&#39;E&#39;,&#39;.&#39;)){
- work();
- }
复制代码 6. 继承构造函数- struct Base{
- Base(int a,char b,double c, std::string d,float f)
- :a(a),b(b),c(c),d(std::move(d)),f(f){}
- int a;
- char b;
- double c;
- std::string d;
- float f;
- };
- //before
- struct Derive : public Base{
- Derive(int a,char b,double c, std::string d,float f):Base(a,b,c,d,f){}
- };
- //after
- struct Derive : public Base{
- using Base::Base;
- };
复制代码 7. +lambda转换
对lambda使用一元+表达式可以将它转换为普通函数指针- // before
- int8_t (*CreateLonglink)(const std::string& name, const std::string& host,
- const std::vector<uint16_t> ports, const std::string& debugip)
- = +[](const std::string& name,
- const std::string& host,
- const std::vector<uint16_t> ports,
- const std::string& debugip)->int8_t{
-
- ...
- return 0;
- };
- // after
- auto CreateLonglink= +[](const std::string& name,
- const std::string& host,
- const std::vector<uint16_t> ports,
- const std::string& debugip)->int8_t{
-
- ...
- return 0;
- };
复制代码来源:作者:kelthuzadx 链接:https://www.zhihu.com/question/298981020/answer/519864425 来源:知乎 推荐阅读书单
正如侯捷老师所说C++ 相关的书籍也非常多,如天上繁星。 广博如四库全书者有 《The C++Programming Language》 《C++ Primer》,深奥如山重水复者有《The Annotated C++ Reference Manual》、《Inside The C++ Object Model》,细说历史者有《The Design And Evolution Of C++》、《Rumiations on C++》,独沽一味者有《Polymorphism in C++》、《Genericity in C++》,独树一帜者有《Design Patterns》、《C++ FAQs》,程序库大全有之《The C++ Standard Library》.....
至于书单的话,可以看下这个C++ 最全书单,包含几十本经典的PDF和下载方式:
华为最牛逼的c++ 基础与提高PDFmp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247486995&idx=1&sn=382ef6a0c1d20bdcc4531463024a8060&chksm=fdb3f0cdcac479dbf38c2db05f3d57ef6cb2acbd2edf977244523026a58258520a784933810b#rdmp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247486995&idx=1&sn=382ef6a0c1d20bdcc4531463024a8060&chksm=fdb3f0cdcac479dbf38c2db05f3d57ef6cb2acbd2edf977244523026a58258520a784933810b#rdmp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247486995&idx=1&sn=382ef6a0c1d20bdcc4531463024a8060&chksm=fdb3f0cdcac479dbf38c2db05f3d57ef6cb2acbd2edf977244523026a58258520a784933810b#rdmp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247486995&idx=1&sn=382ef6a0c1d20bdcc4531463024a8060&chksm=fdb3f0cdcac479dbf38c2db05f3d57ef6cb2acbd2edf977244523026a58258520a784933810b#rdmp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247486995&idx=1&sn=382ef6a0c1d20bdcc4531463024a8060&chksm=fdb3f0cdcac479dbf38c2db05f3d57ef6cb2acbd2edf977244523026a58258520a784933810b#rdmp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247486995&idx=1&sn=382ef6a0c1d20bdcc4531463024a8060&chksm=fdb3f0cdcac479dbf38c2db05f3d57ef6cb2acbd2edf977244523026a58258520a784933810b#rdmp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247486995&idx=1&sn=382ef6a0c1d20bdcc4531463024a8060&chksm=fdb3f0cdcac479dbf38c2db05f3d57ef6cb2acbd2edf977244523026a58258520a784933810b#rd(PS:侯捷 C++ 视频课程一直都被看过的同学广为推荐,最近发现 B 站关于侯捷老师的 C++ 视频课程几乎全部被下架了,于是自己搜集了一套非常全的视频,大家赶紧去下载保存备用
侯捷C++全套视频|含下载方式mp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247486987&idx=1&sn=6002f1b0c275f97a33ee2e3e8f53ab4f&chksm=fdb3f0d5cac479c3368acf8cecbf5b0669ff76db88b3f32d3543fcd8f0f5c820845102493c16#rdmp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247486987&idx=1&sn=6002f1b0c275f97a33ee2e3e8f53ab4f&chksm=fdb3f0d5cac479c3368acf8cecbf5b0669ff76db88b3f32d3543fcd8f0f5c820845102493c16#rdmp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247486987&idx=1&sn=6002f1b0c275f97a33ee2e3e8f53ab4f&chksm=fdb3f0d5cac479c3368acf8cecbf5b0669ff76db88b3f32d3543fcd8f0f5c820845102493c16#rdmp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247486987&idx=1&sn=6002f1b0c275f97a33ee2e3e8f53ab4f&chksm=fdb3f0d5cac479c3368acf8cecbf5b0669ff76db88b3f32d3543fcd8f0f5c820845102493c16#rdmp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247486987&idx=1&sn=6002f1b0c275f97a33ee2e3e8f53ab4f&chksm=fdb3f0d5cac479c3368acf8cecbf5b0669ff76db88b3f32d3543fcd8f0f5c820845102493c16#rdmp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247486987&idx=1&sn=6002f1b0c275f97a33ee2e3e8f53ab4f&chksm=fdb3f0d5cac479c3368acf8cecbf5b0669ff76db88b3f32d3543fcd8f0f5c820845102493c16#rdmp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247486987&idx=1&sn=6002f1b0c275f97a33ee2e3e8f53ab4f&chksm=fdb3f0d5cac479c3368acf8cecbf5b0669ff76db88b3f32d3543fcd8f0f5c820845102493c16#rd他们让知识的传播变得更加的便捷,降低了后来者的学习门槛,当然啦也变相加重了内卷化.
最近很多知友问我大厂面试的核心知识点,东哥熬夜整理出来了9大核心知识点,需要的自取:
BAT大佬整理的进大厂必看秘籍!mp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247487114&idx=1&sn=3daf22898b8149910b297f48376395a3&chksm=fdb3f054cac47942e2dcd43ba8a33ab414e0dafb2300ac2eebc9fe18af5cd9f4618b3b4f3266#rdmp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247487114&idx=1&sn=3daf22898b8149910b297f48376395a3&chksm=fdb3f054cac47942e2dcd43ba8a33ab414e0dafb2300ac2eebc9fe18af5cd9f4618b3b4f3266#rdmp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247487114&idx=1&sn=3daf22898b8149910b297f48376395a3&chksm=fdb3f054cac47942e2dcd43ba8a33ab414e0dafb2300ac2eebc9fe18af5cd9f4618b3b4f3266#rd另外,我当初在准备各大公司技术笔试的时候刷了大量的算法题,其中就是参考了一本谷歌大神的LeetCode刷题笔记,帮我整理了解题思路,归纳了出刷题方法,非常不出错,转给需要的同学:
BAT大佬写的Leetcode刷题笔记,看完秒杀90%的算法题!mp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247485348&idx=1&sn=02ede6b715b20a6b981af1d021d77d5d&chksm=fdb3f97acac4706cc193bec80b984255bb33db2b35366682bd566280326b7029f1dae632abb2#rdmp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247485348&idx=1&sn=02ede6b715b20a6b981af1d021d77d5d&chksm=fdb3f97acac4706cc193bec80b984255bb33db2b35366682bd566280326b7029f1dae632abb2#rdmp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247485348&idx=1&sn=02ede6b715b20a6b981af1d021d77d5d&chksm=fdb3f97acac4706cc193bec80b984255bb33db2b35366682bd566280326b7029f1dae632abb2#rdmp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247485348&idx=1&sn=02ede6b715b20a6b981af1d021d77d5d&chksm=fdb3f97acac4706cc193bec80b984255bb33db2b35366682bd566280326b7029f1dae632abb2#rdmp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247485348&idx=1&sn=02ede6b715b20a6b981af1d021d77d5d&chksm=fdb3f97acac4706cc193bec80b984255bb33db2b35366682bd566280326b7029f1dae632abb2#rdmp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247485348&idx=1&sn=02ede6b715b20a6b981af1d021d77d5d&chksm=fdb3f97acac4706cc193bec80b984255bb33db2b35366682bd566280326b7029f1dae632abb2#rdmp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247485348&idx=1&sn=02ede6b715b20a6b981af1d021d77d5d&chksm=fdb3f97acac4706cc193bec80b984255bb33db2b35366682bd566280326b7029f1dae632abb2#rd最后给大家介绍一份计算机经典书籍,送大家一份硬核书籍资源:读大学跟工作期间,我买了很多书,大部分是一些技术书籍,也收集了这些书籍的电子版,都在这里,现在免费share给大家,包括了计算机类常用电子书,包括C,C++,Java,Python,Java,Linux,Go等,希望大家能认真阅读。点击下方链接直达获取:
计算机经典必读书单(含下载方式)mp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247487238&idx=1&sn=c63594d794bed494ff91bebd4c8de37c&chksm=fdb3f1d8cac478ce0bb20b69a930567c8790e1c3fe4629aacb805a5c2ac9f39035772855738e#rdmp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247487238&idx=1&sn=c63594d794bed494ff91bebd4c8de37c&chksm=fdb3f1d8cac478ce0bb20b69a930567c8790e1c3fe4629aacb805a5c2ac9f39035772855738e#rdmp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247487238&idx=1&sn=c63594d794bed494ff91bebd4c8de37c&chksm=fdb3f1d8cac478ce0bb20b69a930567c8790e1c3fe4629aacb805a5c2ac9f39035772855738e#rd码字不易,硬核码字更难,希望大家不要吝啬自己的鼓励,给我 :
@码农出击
一个点赞,鼓励下我! |