V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
make1money
V2EX  ›  问与答

选择 C 还是 C++?

  •  
  •   make1money · 2023-06-14 12:09:12 +08:00 · 2857 次点击
    这是一个创建于 532 天前的主题,其中的信息可能已经有所发展或是发生改变。
    主要是想应付考研,要考上机和对 PAT 证书有要求,应该选择哪门精通比较好?
    32 条回复    2023-06-15 14:19:00 +08:00
    liqinliqin
        1
    liqinliqin  
       2023-06-14 12:12:12 +08:00   ❤️ 2
    从我 20 多年开发经验来看,C 好一些,用 C 写面向对象的代码,思路很清晰
    Sukng
        2
    Sukng  
       2023-06-14 12:12:27 +08:00 via Android
    c++,刷算法舒服很多
    dandycheung
        3
    dandycheung  
       2023-06-14 12:19:42 +08:00 via Android
    打个扯淡的比方吧。C++,就好像是你说你从事脱口秀,听起来稍微高大上、现代一些; C ,就好比是说你是说相声的。后者听上去有点 low ,可是能做好的人实在太少了。
    tool2d
        4
    tool2d  
       2023-06-14 12:21:17 +08:00
    C + 算法 = C++
    推荐纯 C 的,除非大部分算法你都从头写。
    nightwitch
        5
    nightwitch  
       2023-06-14 12:24:55 +08:00 via Android
    毫无疑问 c++,做题的时候有大量的容器和算法可以用。
    duke807
        6
    duke807  
       2023-06-14 12:25:26 +08:00 via Android
    @tool2d
    我投票给 C
    什么算法举例说说
    lixiang2017
        7
    lixiang2017  
       2023-06-14 12:27:29 +08:00 via Android
    当然 cpp 啦,避免重复造轮子和刚开始的挫败感。学得差不多了,再回头去看 STL 的实现,再去尝试自己实现
    coderluan
        8
    coderluan  
       2023-06-14 12:38:02 +08:00
    只是应付考研你哪个都用不着精通,也肯定精通不了,但是选 C++你考研会容易不少,现成的东西更多。
    tool2d
        9
    tool2d  
       2023-06-14 12:38:58 +08:00
    @duke807 纯 C 造轮子只适合个人开发者。大公司都是需要团队协作的。比如最基础的 std::string ,你总不能让所有同事一起用 char*把?
    duke807
        10
    duke807  
       2023-06-14 12:41:51 +08:00 via Android
    @tool2d 我司是搞 linux 内核的,还真就所有同事一起用 char*
    lykhero
        11
    lykhero  
       2023-06-14 12:43:58 +08:00
    现在学 cpp 还可以完全没 c 的基础的么???
    有点离谱。。。
    我看网上那些算法题考试只让用 java cpp python 啊,有的选么。。。
    Ocean810975
        12
    Ocean810975  
       2023-06-14 12:46:54 +08:00
    C++,你用 C 排个序都麻烦
    jmc891205
        13
    jmc891205  
       2023-06-14 12:49:46 +08:00
    C + STL 就够了
    maxxfire
        14
    maxxfire  
       2023-06-14 12:50:46 +08:00
    当然 C++,一直在发展。而 C 完全是静止不发展了
    make1money
        15
    make1money  
    OP
       2023-06-14 12:57:02 +08:00
    我大学期间学过 C ,苦于指针和链表😩
    iamqk
        16
    iamqk  
       2023-06-14 14:36:27 +08:00
    C++ C 学了应用场景太少
    C++更实用些
    enchilada2020
        17
    enchilada2020  
       2023-06-14 14:52:30 +08:00 via Android
    只是这种程度的话 C+STL 就够了 谈不上什么 C++
    Daeyn
        18
    Daeyn  
       2023-06-14 14:53:20 +08:00 via iPhone
    C ,C++这门语言上不上下不下的,虽然我搞了 8 年 C++开发
    ysc3839
        19
    ysc3839  
       2023-06-14 14:56:40 +08:00 via Android
    C 缺少太多自动化的东西了,比如内存需要手动释放,需要开发者花很多精力关注各种细节,更容易写出 bug
    lpf0309
        20
    lpf0309  
       2023-06-14 15:00:29 +08:00
    考研当然是 c++最稳妥了,不过学 C++都是先学 c 的
    leonshaw
        21
    leonshaw  
       2023-06-14 15:04:24 +08:00
    C++
    C 干点啥起手先写个数据结构的库
    make1money
        22
    make1money  
    OP
       2023-06-14 15:26:04 +08:00
    @enchilada2020 stl 不是 C++的库吗🤔️
    enchilada2020
        23
    enchilada2020  
       2023-06-14 17:14:31 +08:00 via Android
    @make1money 你要是只想刷题过机考 需要的只是 STL 里的那几个数据结构和函数而已 而非 C++本身 主要写的还是 C 但有了 STL 相比纯 C 要轻松不少
    besto
        24
    besto  
       2023-06-14 17:15:55 +08:00
    场景完全不一样兄弟。。。C 基本就是驱动级了,C++都是应用级别。
    forvvvv123
        25
    forvvvv123  
       2023-06-14 20:35:20 +08:00
    兄弟,醒醒,俩都得学

    C 实际是学习下 Linux 操作系统和汇编的知识,学 C++会明白很多编程语言方面的东西,虽然 C++设计得实在是挺烂的
    xdeng
        26
    xdeng  
       2023-06-14 20:46:15 +08:00
    你学会了 C++ C 自然也就会了
    churchill
        27
    churchill  
       2023-06-14 20:50:41 +08:00
    这个帖子不得了,短短二十几楼,汇聚了 PL 领域全世界最领先的大咖
    ecloud
        28
    ecloud  
       2023-06-14 21:01:10 +08:00
    只能二选一?没有简单点的什么 python,vb 之类? C#也行啊
    smallboy19991231
        29
    smallboy19991231  
       2023-06-14 21:08:31 +08:00 via Android
    当然是 C++啊! modern C++已经很强大了
    iOCZ
        30
    iOCZ  
       2023-06-14 21:50:04 +08:00
    小伙子排个序吧,我让你三分钟,我写好了 sort(a.begin(),a.end());
    make1money
        31
    make1money  
    OP
       2023-06-15 11:01:31 +08:00
    @ecloud python 行是也行,就是容易超时
    mutalisk
        32
    mutalisk  
       2023-06-15 14:19:00 +08:00
    当然 CPP ,用现代 CPP+BOOST ,还能勉强写一点应用。用 C 写应用基本上是不可能的,都造轮子了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3253 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 13:01 · PVG 21:01 · LAX 05:01 · JFK 08:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.