选择 C 还是 C++? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
make1money
V2EX    问与答

选择 C 还是 C++?

  •  
  •   make1money 2023-06-14 12:09:12 +08:00 3402 次点击
    这是一个创建于 850 天前的主题,其中的信息可能已经有所发展或是发生改变。
    主要是想应付考研,要考上机和对 PAT 证书有要求,应该选择哪门精通比较好?
    32 条回复    2023-06-15 14:19:00 +08:00
    liqinliqin
        1
    liqinliqin  
    PRO
       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-4 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++更实用些
    KMpAn8Obw1QhPoEP
        17
    KMpAn8Obw1QhPoEP  
       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++的库吗
    KMpAn8Obw1QhPoEP
        23
    KMpAn8Obw1QhPoEP  
       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     Solana     5460 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 37ms UTC 08:36 PVG 16:36 LAX 01:36 JFK 04:36
    Do have faith in what you're doing.
    ubao 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