V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Logiase
V2EX  ›  程序员

想知道现在 C/C++是怎么一个学习路线

  •  
  •   Logiase · 2020-07-24 15:50:43 +08:00 · 4550 次点击
    这是一个创建于 1343 天前的主题,其中的信息可能已经有所发展或是发生改变。

    学校里教过,但后来随着学习了解了更多知识之后,发现学校里教的内容与现在的 C/C++体系脱节很严重

    新功能很多,写法也多了不少,有点不知道从哪里下手

    非计算机类专业,但实际要接触的东西肯定是离不开嵌入式等等

    希望各位前辈能给我指出一条学习路线

    (在学校里学到的 C 、C++都是基础知识

    20 条回复    2020-07-25 14:02:59 +08:00
    across
        1
    across  
       2020-07-24 15:56:44 +08:00
    先定引用场景。
    没有就去做 leetcode 。
    across
        2
    across  
       2020-07-24 15:57:20 +08:00
    话说现在嵌入式都用 C++的?? 不是 C 么?
    hoyixi
        3
    hoyixi  
       2020-07-24 15:58:35 +08:00
    打开大型招聘网站,搜索 C++职位,看职位要求、公司行业
    gantleman
        4
    gantleman  
       2020-07-24 16:00:05 +08:00
    对语法糖的追求是无穷无尽的毕生事业。
    Logiase
        5
    Logiase  
    OP
       2020-07-24 16:01:56 +08:00
    @across 都有,还想接触一下 rust
    lzyliangzheyu
        6
    lzyliangzheyu  
       2020-07-24 16:05:03 +08:00
    @across C++用的少,除了像 arduino,还有就是 ARM 的 MBED OS (只是听过,没用过。。。)用 C++,其他基本上主流还是 C,尤其对于 RAM 只有百来 K 甚至几十 K 的单片机来讲。。。。C++的开销是挺大的。。。。。
    ysc3839
        7
    ysc3839  
       2020-07-24 16:11:43 +08:00 via Android
    @across 嵌入式用的 C++ 可能是不带 STL 的,只是为了使用 C++ 的 class, template 等特性。印象中 Windows 和 macOS 的驱动都可以用 C++ 开发,但是不能使用 STL 。
    lechain
        8
    lechain  
       2020-07-24 17:38:06 +08:00 via Android
    学语言最重要的是写,代码要多写,如果你实在找不到写代码的场景 /需求,那就上 leetcode 吧😃
    shoujiaxin
        9
    shoujiaxin  
       2020-07-24 17:47:59 +08:00
    Qt 也是可以用来做嵌入式开发的吧
    allAboutDbmss
        10
    allAboutDbmss  
       2020-07-24 17:50:32 +08:00
    如果自学可以选择就很多了 建议学 Modern C++ 在未来的几年里面 C++20, C++23 会让这门语言保持热门

    https://db.in.tum.de/teaching/ss20/c++praktikum/?lang=de

    推荐这课
    Huelse
        11
    Huelse  
       2020-07-24 18:45:48 +08:00
    可以去看看 linux 的源码,能学到很多规范和实现
    zjsxwc
        12
    zjsxwc  
       2020-07-24 22:50:17 +08:00 via Android
    嵌入式都用 c 啊 ,没 cpp 什么事情,
    比较推荐国产开源的实时系统 rt-thread 简单易上手。
    msg7086
        13
    msg7086  
       2020-07-24 23:43:01 +08:00
    C++89 和 C++23 根本是两个完全不同的语言。

    C++89 是 C with classes 。
    C++23 是 Python with C syntax……
    wdhwg001
        14
    wdhwg001  
       2020-07-25 04:14:22 +08:00 via iPhone
    @msg7086 Python 想和 C++比还差了不少,比如 Lambda 。
    C++的现代目标似乎更 Swift 一些。
    timsensor
        15
    timsensor  
       2020-07-25 10:03:17 +08:00
    可以研究一些小型的开源的游戏引擎,看看别人是怎样做项目架构的
    wzzzx
        16
    wzzzx  
       2020-07-25 11:23:23 +08:00
    @timsensor 有哪些可以安利一下嘛
    msg7086
        17
    msg7086  
       2020-07-25 11:25:29 +08:00
    @wdhwg001 打个比方而已……
    kilasuelika
        18
    kilasuelika  
       2020-07-25 13:36:03 +08:00 via Android
    都 21 世纪了,还说嵌入式不能用 c++,感觉已经落伍了。
    我自己用 xilinx 的开发板,都用上 g++ 9 了。别说 stl,连 boost 、eigen 都可以用(主要是模板库)。
    kilasuelika
        19
    kilasuelika  
       2020-07-25 13:41:38 +08:00 via Android
    而且是裸机使用 boost 、eigen 模板库。
    paoqi2048
        20
    paoqi2048  
       2020-07-25 14:02:59 +08:00
    还是建议走 Linux C/C++方向
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   956 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 21:28 · PVG 05:28 · LAX 14:28 · JFK 17:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.