现代的 C/C++的特性怎样快速学习 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
msmmbl
V2EX    C++

现代的 C/C++的特性怎样快速学习

  •  
  •   msmmbl 2023-10-11 14:03:01 +08:00 2472 次点击
    这是一个创建于 795 天前的主题,其中的信息可能已经有所发展或是发生改变。

    本人最早还是大学课堂时候接触了 C 语言。

    工作后主要还是使用 java 、php 、js 、go 、python 这类高级语言,这些高级语言每个版本升级看看有哪些新特性,慢慢的也就跟上了,也没特别去学习。

    身边没有写 C 的工作环境,C 的话主要还是玩兴趣的时候写写 arduino 、stm32 时候用用,也没用到什么高级特性,大学那套感觉够用。直到最近开始玩 soc 、linux 驱动这些的时候,发现了里面的 c 很多语法都好像既熟悉又陌生。还有用 esphome 写自定义 component 时候遇到了 template ,也是不大熟悉。总感觉自己懂得 C 还是老的一套,不太适应新的环境了。

    想了解下,现在 2023 年 10 月份了,如果想要快速的学下最新的 C 或者 C++,了解他们的新特性,而不是从头开始(就是数据类型,运算符这种已经熟知的东西了),应该从哪方面入手。

    12 条回复    2023-10-18 05:33:53 +08:00
    lyyQAQ
        1
    lyyQAQ  
       2023-10-11 15:11:43 +08:00
    我也不太熟悉,我觉得你可以试着找一个用 c++17 标准的项目练手,然后开一个 GPT Plus ,看不懂的代码让 GPT4 给你解释,解释不明白的让它具体举例解释,详细解释,结合场景解释,我比较笨,那些新特性我都是和 GPT 学的,我也是边工作边跟 GPT4 学的,c++感觉坑太多了,就各种编译问题就够头大的,一搜就得搜半天,GPT4 在这些方面超级擅长
    msmmbl
        2
    msmmbl  
    OP
       2023-10-11 15:31:24 +08:00
    @lyyQAQ 谢谢。从项目学习也是一个好办法。
    minami
        3
    minami  
       2023-10-11 15:34:46 +08:00
    msmmbl
        4
    msmmbl  
    OP
       2023-10-11 15:47:57 +08:00
    @minami 真不错。惊了,看第一条,cpp 都有 Coroutines 了
    Mapz
        5
    Mapz  
       2023-10-12 10:59:12 +08:00
    c++ 11
    c++ 17
    c++ 20
    特性挨着在 https://en.cppreference.com/ 上看就行了
    建议从 20 往回看
    因为很多新 feature 是解决老的屎代码用的,用新不用老
    msmmbl
        6
    msmmbl  
    OP
       2023-10-12 12:50:59 +08:00
    @Mapz 谢谢建议,昨天我还在从低版本往高版本看,想着这么多版本看到啥时候呢,原来从 20 往回看才是正解
    Mapz
        7
    Mapz  
       2023-10-12 15:09:34 +08:00
    @msmmbl 但是从高版本看回去会出现有的概念不明白的情况,搜一下即可,例如 constexpr 这个概念每次都在迭代,如果你看的是 c++11 的,你会发现这玩意用处有限,如果你看的 c++17 的,你会发现卧槽牛逼,如果你看了 c++ 20 你会发现 concept 解决了很多 constexpr 解决的问题。从后面往前面看的好处是你一来看的就是很多功能的完全体。但是会出现这到底是啥的疑问。
    msmmbl
        8
    msmmbl  
    OP
       2023-10-13 08:11:18 +08:00
    @Mapz #7 明白,咱需要更多的关注它现在的样子,而不是发展历程
    xiaopanzi
        9
    xiaopanzi  
       2023-10-14 10:17:59 +08:00
    说个题外话,现代 C++内容很多;但是现代 C 的话,新增的内容很少,不会让人昏头转向,没有 C++那么激进。
    msmmbl
        10
    msmmbl  
    OP
       2023-10-16 08:31:30 +08:00
    datadump
        11
    datadump  
       2023-10-17 09:59:37 +08:00
    msmmbl
        12
    msmmbl  
    OP
       2023-10-18 05:33:53 +08:00
    @wjx0912 谢谢,挺不错的
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3834 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 05:20 PVG 13:20 LAX 21:20 JFK 00:20
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86