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

为什么我那么喜欢 C++??

  •  
  •   WhoCanBeRich · 2023-09-27 21:08:33 +08:00 · 8938 次点击
    这是一个创建于 457 天前的主题,其中的信息可能已经有所发展或是发生改变。

    工作好几年了,除了大学写了一年的 C++,工作中基本没写过,

    最近给表弟处理问题写了点 C++代码,发现还是那么好用。。。

    有同感的吗?

    我也想过为啥其它语言没有那么吸引我,可能是因为太高级的原因?

    让我写代码的过程中完全体会不到计算机的美。

    第 1 条附言  ·  2023-09-28 11:30:32 +08:00
    啊? 为啥还有那么多老铁在说内存问题呢? 我理解不是用了智能指针后,内存管理完全像写 java 一样丝滑吗?
    96 条回复    2023-11-02 19:58:20 +08:00
    weak
        1
    weak  
       2023-09-27 21:11:26 +08:00 via iPhone   ❤️ 11
    要不是编译各种报错 我就信了
    joyhub2140
        2
    joyhub2140  
       2023-09-27 21:42:38 +08:00   ❤️ 1
    还是用的少,当爱好成为职业。。。你就会发现坑很多。
    y1y1
        3
    y1y1  
       2023-09-27 21:43:59 +08:00
    有同感的吗 没有
    passive
        4
    passive  
       2023-09-27 21:58:56 +08:00 via Android
    c++大而全,该有的都有了,挺好的。
    但是坑多、features 滥用严重,template metaprogramming 比 rust 难学。
    jedrek
        5
    jedrek  
       2023-09-27 22:04:39 +08:00
    如果我还是学生也许就信了
    agagega
        6
    agagega  
       2023-09-27 22:26:43 +08:00   ❤️ 1
    C++就是语法历史负担太重,模板元编程完全可以有更好的语法,再加上静态反射。另外就是 C++工具链倒是不少,就是缺少一个像 cargo/rustup 这样方便的套件。语法方面,我觉得 Cpp2 是个好思路,虽然很多人觉得太极端了,但是要演进又要保持兼容性就必须这样。
    iceheart
        7
    iceheart  
       2023-09-28 00:18:22 +08:00 via Android   ❤️ 3
    因为 C++它就是那么强啊!

    极致的性能表现,极低的资源占用,完全的硬件访问能力,各式各样的编程模式,你可以随心所欲的写,没有束缚,只要你能力够。
    这种从心所欲的体验没有其他任何语言能代替。
    duke807
        8
    duke807  
       2023-09-28 00:20:19 +08:00 via Android
    我选择用 c
    tyzandhr
        9
    tyzandhr  
       2023-09-28 00:35:53 +08:00 via Android   ❤️ 1
    因为 c++是一门民主的语言,c++委员会民主决策。
    反观 rust…………
    allAboutDbmss
        10
    allAboutDbmss  
       2023-09-28 00:47:18 +08:00
    @tyzandhr 不民主吗
    allAboutDbmss
        11
    allAboutDbmss  
       2023-09-28 00:48:21 +08:00
    @tyzandhr rust 为啥不民主哇?
    agagega
        12
    agagega  
       2023-09-28 01:14:58 +08:00   ❤️ 1
    @tyzandhr
    C++不像民主制,倒有点像贵族制,一帮利益相关方派代表相互扯皮
    Jirajine
        13
    Jirajine  
       2023-09-28 01:26:54 +08:00 via Android
    @agagega #6 rust 就是事实上的 cpp2 ,不只是语法,概念、范式也都是 cpp 的延续。
    xarthur
        14
    xarthur  
       2023-09-28 03:11:11 +08:00 via iPhone   ❤️ 1
    c++要写的小心翼翼,不知道 LZ 觉得哪里爽了……
    keepRun
        15
    keepRun  
       2023-09-28 03:44:27 +08:00 via Android   ❤️ 1
    以前我也这么觉得,现在我觉得哪个好用用哪个,甚至无缝使用多门语言。
    回过头来觉得争论语言没啥意义,技术人员应该根据不同场景寻找合适的技术方案而不是根据偏爱
    cnbatch
        16
    cnbatch  
       2023-09-28 07:08:42 +08:00   ❤️ 1
    我也更偏向用 C++,尤其是个人项目。

    Windows Only 的项目除外,这时候我会根据实际需求选择 C# 或者 C++,不会定死只用一种。

    个人项目跨平台时,我只能选 C++,因为我跨的平台相对“偏门”。不但有 Windows 和 Linux ,还有整个 BSD 系列——FreeBSD, NetBSD, OpenBSD, DragonflyBSD 这几种。
    毕竟我既想用到方便的语言特性,又想二进制文件尽量小,不要“拖泥带水”挂靠 VM ,还要兼容 DragonflyBSD (尽管没什么人用,但我还是会给它编译出二进制文件)。这样下来可选范围非常窄,对我来说也就 C++最适合了。
    voidmnwzp
        17
    voidmnwzp  
       2023-09-28 07:14:43 +08:00 via iPhone
    因为你没写过大项目,我虽然没写过 c++,但之前写 Java 用到 jni c++ lib ,那编译速度,少说也是五分钟起步
    cssk
        18
    cssk  
       2023-09-28 07:26:30 +08:00 via iPhone   ❤️ 1
    楼主一看就是自虐型人才
    iintothewind
        19
    iintothewind  
       2023-09-28 07:29:23 +08:00   ❤️ 1
    没有一门语言是完美的,只有使用场景合适不合适,毕竟语言只是工具。
    能让人体会到计算机的美的语言有很多,你只是不愿意去了解,scheme,Racket,Haskell,Erlang 这些函数范式语言所体现的思想让很多现代语言比如 C#,JavaScript ,C++,Java 等拿来重新包装,体现所谓的“先进思想”,其实多去了解一下,就会发现这些思想在上世纪七八十年代就已经有了,只不过没有大规模使用。
    mightybruce
        20
    mightybruce  
       2023-09-28 08:11:52 +08:00   ❤️ 6
    怎么这么多没写过 C++ 的人在这里乱说,C++ 14 、17 、20 已经让 c++ 上手难度降低了很多,
    要对比,肯定是比 Rust 容易上手的。
    需要用 C++的地方自然会用 C++, 不需要的地方就是接触也只是皮毛。
    现代 C++ 包管理工具也不是唯一,估计这些都是 CRUD 程序员吧,找不到集中式包管理,就觉得 C++ 不好。
    了解一下 CMAKE, Vcpkg, Conan 没多长时间。
    ellermister
        21
    ellermister  
       2023-09-28 08:22:51 +08:00 via Android   ❤️ 1
    群里整天在喷 cpp 连个标准 socket 库都没有,全靠手撸
    fox0001
        22
    fox0001  
       2023-09-28 08:26:06 +08:00 via Android
    有个大家都知道的黑历史,Linus 一直拒绝使用 C++重构 Linux 内核,但是近年开始接受 Rust 。
    bigha
        23
    bigha  
       2023-09-28 08:32:17 +08:00   ❤️ 1
    我选择用汇编 完虐 C++

    让我写代码的过程中完全体会不到计算机的美
    mightybruce
        24
    mightybruce  
       2023-09-28 08:43:04 +08:00   ❤️ 3
    Linus 除了 C 、Rust 语言以外,其他语言像 JAVA 都喷了,怎么大家就只记住 C++。

    C++ 一定不要看国内的书会让你误入歧途。

    C++ 的项目可是不断维护的,有的项目比群里这些小辈年龄都大, 这些库的稳定性足够强,而不像什么 JS/ Rust 还没几年就被人抛弃了。

    大多数人喷 C++ 只是因为他学不会而已, 作为高校和信息奥赛指定的语言,学 C++ 的每年可并不少。
    NoAnyLove
        25
    NoAnyLove  
       2023-09-28 08:47:44 +08:00
    如果我不是在生产环境中用 C++的话就真信了你的邪了
    stevefan1999
        26
    stevefan1999  
       2023-09-28 08:50:26 +08:00 via Android
    我也愛死 C++了 多謝你給這麼多內存溢出和桟攻擊的 CVE 我才能黑了你的程序 Rust 的內存安全機制是壞文明
    tsanie
        27
    tsanie  
       2023-09-28 08:50:43 +08:00
    win11 canary 频道前段时间也推了 rust 重写的部分内核
    shellcodecow
        28
    shellcodecow  
       2023-09-28 08:51:45 +08:00
    要不是用了 golang 我差点就信了 🤣
    核心用 c++ , 插件用 golang, 爽
    yolee599
        29
    yolee599  
       2023-09-28 08:55:24 +08:00 via Android   ❤️ 3
    C++ 的 feature 太多了,我不太喜欢,反而更喜欢 C
    mightybruce
        30
    mightybruce  
       2023-09-28 08:56:50 +08:00   ❤️ 2
    写自己代码用合适的语言完事,Rust 这几年高危的 CVE 一个都不少, 比如去年修复了一个编号为 CVE-2022-21658 的高危漏洞
    语言之争都是底层程序员的无畏之争。
    写基础设施和专门系统开发的人, 写 c++ 和 rust 都是随便切换的, 在数据结构和系统编程、网络编程、计算机组织结构都熟练掌握的情况下, 不会特意挑,反而 Rust 黑粉 什么语言都学不会叫嚣的很多。
    ajaxgoldfish
        31
    ajaxgoldfish  
       2023-09-28 09:08:41 +08:00
    那是因为你的工作不是 C++
    zzzkkk
        32
    zzzkkk  
       2023-09-28 09:09:54 +08:00 via Android
    我只对钱感兴趣 c++做 hft 有 80 万美元一年呢
    iOCZ
        33
    iOCZ  
       2023-09-28 09:12:31 +08:00
    只用到一小部分而已,20%的语法完成 90%的工作
    rahuahua
        34
    rahuahua  
       2023-09-28 09:42:20 +08:00
    工作中没用过 结论是你喜欢 c++ 不够严谨的
    javak
        35
    javak  
       2023-09-28 09:46:47 +08:00
    对我来说,感受完全一样,只不过语言换成了 java
    zzz6519003
        36
    zzz6519003  
       2023-09-28 09:48:07 +08:00
    写代码体会到计算机的美?能借几行代码说话吗
    dobelee
        37
    dobelee  
       2023-09-28 09:49:33 +08:00 via iPhone
    你先干几年,找几个线上 bug 再说。
    dif
        38
    dif  
       2023-09-28 10:07:48 +08:00
    参考 林纳斯的观点。
    guochao
        39
    guochao  
       2023-09-28 10:08:37 +08:00
    写的不够多,写的多了语言不是问题,在于怎么样设计架构来更好的满足需求和解决问题,一步步细化以后后面才有语言的选择问题,那个时候不是我们选择语言,而是生态和需求确定语言
    emSaVya
        40
    emSaVya  
       2023-09-28 10:13:02 +08:00   ❤️ 2
    很多人对 c++ 的印象还停在 20 年前。实际上现在 c++ 写起来轻松又愉快。
    XIVN1987
        41
    XIVN1987  
       2023-09-28 10:23:48 +08:00
    @emSaVya
    这二十年,,又加了好多内容,,spec 又厚了一倍不止
    emSaVya
        42
    emSaVya  
       2023-09-28 10:29:04 +08:00
    @XIVN1987 c++ 不搞 deprecated features 就是这样了, 一切为了兼容。挑新特性出来用就好了。modern cpp 上手很快 也没啥难度。
    wanguorui123
        43
    wanguorui123  
       2023-09-28 10:37:22 +08:00
    C/C++唯一优势就是资源可控性强,当然业务复杂时也是软肋
    lingeo
        44
    lingeo  
       2023-09-28 10:49:16 +08:00   ❤️ 1
    写 C++的时候我是真的有思考变量在内存中是怎么保存的。😓也不怕被笑话,刚转 C 的时候,我 debug 某个字节列表时,Clion 怎么只显示第一个元素,我一度怀疑是不是数据错了挣扎了半天,出去上厕所的时候突然想起指针是内存中的地址,Clion 并不知道具体的长度,所以只会提示第一个元素,这时候我是真的茅塞顿开。这时候可以体会到计算机的美,但是 deadline 的时候也是真要命,C++开发效率太慢了,而且语法也多,每次引入新的 SDK 都有看不懂的语法。
    idblife
        45
    idblife  
       2023-09-28 10:50:38 +08:00 via iPhone   ❤️ 1
    要不是我真写过 c++,差点就信了
    InkStone
        46
    InkStone  
       2023-09-28 10:52:16 +08:00
    不管什么语言,写到深处都会踩坑的。有些坑是语言本身会让你更容易写错代码,有些坑是语言本身非常难实现一个很普通的需求。
    c2const
        47
    c2const  
       2023-09-28 10:56:54 +08:00
    去学习下开源的大型 Asm/C/C++混合项目,体会下:
    一次编写,到处编译,还编译不过 :)
    yuruizhe
        48
    yuruizhe  
       2023-09-28 11:05:03 +08:00
    @c2const 可以直接跟内存打交道嘛,大小端都不一样,要编译一下也是理清之中啦
    xiri
        49
    xiri  
       2023-09-28 11:13:31 +08:00 via Android
    我现在工作在写 C🤔
    yulon
        50
    yulon  
       2023-09-28 11:22:53 +08:00
    C++ 封装好了比写脚本还爽,只要别和别人合作,猪队友和云队友太多了,像写 Java 一样无脑接口,实现到处乱飞,鬼知道是个什么东西,找个实现还要全部代码都搜索一遍,没错我说的就是 Chromium 。
    Nugine0
        51
    Nugine0  
       2023-09-28 11:34:54 +08:00   ❤️ 1
    @tyzandhr #9 rust 可太民主了,以至于出现一堆政治正确的破事……
    Nugine0
        52
    Nugine0  
       2023-09-28 11:40:56 +08:00
    @mightybruce #30 CVE-2022-21658 这个例子不太好。这玩意在 rust 标准库里算漏洞,在 c++ 标准库里算 UB ,调用者负责。
    bruce0
        53
    bruce0  
       2023-09-28 11:42:38 +08:00   ❤️ 2
    我也喜欢 C++, 喜欢那种自己可以掌控一切的感觉, 合理使用 智能指针, 可以极大的减小心智负担和内存出错的问题.
    C++17, 20 的完善, C++ 难度和友好度已经比以前好多了, 以前动不动几百上千行的 编译报错, 随着 C++20 里 模板的 require 支持, 编译报错也友好了.

    C++ 语法繁杂,就是一个大杂烩, 能在 C++里找到几乎所有编程语言的特性. 都是学 C++, 实际使用 C++--

    C++虽然比以前好用了, 但是易用程度还是不如和 go Java 这些, 在合适的敌方用合适的语言, 才是最优解
    bao3
        54
    bao3  
       2023-09-28 11:50:03 +08:00
    自从把内存搞崩,我再也不敢用 cpp……
    o562dsRcFqYl375i
        55
    o562dsRcFqYl375i  
       2023-09-28 12:11:43 +08:00
    @weak hhhhhhhhhhhhhhhhhhhh 笑屎
    snylonue
        56
    snylonue  
       2023-09-28 12:30:17 +08:00 via iPhone
    写了点 C 以后觉得 C++ 还是挺好用的(
    tairan2006
        57
    tairan2006  
       2023-09-28 12:31:51 +08:00 via Android   ❤️ 1
    如果工作中没用过,那就有点叶公好龙的感觉了
    Cu635
        58
    Cu635  
       2023-09-28 12:40:07 +08:00
    @cnbatch #16
    有调研过 rust 的 BSD 兼容性么?
    dayeye2006199
        59
    dayeye2006199  
       2023-09-28 14:12:29 +08:00
    c++的工具链太复杂。
    make ,cmake ,xmake ,bazel 。debug 工具 gdb ,各种劝退
    tracebundy
        60
    tracebundy  
       2023-09-28 14:17:13 +08:00
    不同项目不同环境都能遇到编译问题,很多 Github 项目拉下来无法编译通过,这是 C++最大特点
    LitterGopher
        61
    LitterGopher  
       2023-09-28 14:20:09 +08:00
    我喜欢 C 但不喜欢 C++,不过也不讨厌就是。
    Longerrrr
        62
    Longerrrr  
       2023-09-28 14:23:43 +08:00
    modern cpp 好用,写起来比较顺滑。
    cnbatch
        63
    cnbatch  
       2023-09-28 14:40:52 +08:00
    @Cu635 这里就有:
    https://doc.rust-lang.org/nightly/rustc/platform-support.html
    Tier 3 当中就有提到,RISC-V FreeBSD 并不支持,但 RISC-V Linux 却又是 Tier 2 支持,显然对 BSD 的支持并算不完善。
    而 BSD 系统自己支持的平台比这个列表要多,虽然我个人并不可能每个支持的平台都编译一次二进制文件,但如果有人刚好有 BSD 支持的偏门硬件(而 Rust 不支持)又刚好想拿来编译一下,那么他就没办法做到编译了。

    我并不喜欢给 BSD 使用者设限,因为我自己就是 BSD 使用者,尽管我跟对方所使用的 BSD 未必是同一种类。
    cnbatch
        64
    cnbatch  
       2023-09-28 15:05:34 +08:00
    @cnbatch 顺便再补充个我是怎样迁就 BSD 的

    首先,有个很重要的一点,BSD 全系列全部自带 C/C++编译器,我很喜欢这一特点。哪怕是 FreeBSD 的衍生版本,即使是变成了防火墙系统(比如 OPNSense ),依然都自带编译器。
    其次,我发布的二进制文件未必涵盖 BSD 系统自己支持的硬件平台,但我希望其他人在这些平台里,可以顺利用自带编译器编译我的代码。这样就不需要额外安装其它语言的编译器了。
    那么能用的语言就只有两种:要么 C ,要么 C++。
    再结合我先前提到的,“想用到方便的语言特性”,只能选 C++。

    语言选好了,接下来选标准。
    到目前为止,FreeBSD 仍在受支持的最低版本是 12.x ,其中 12.0 自带的编译器是 LLVM 6.0, 最高能支持到 C++17 。直到 2022 年更新的 12.4 才升级到 13.0 ,可以稍微支持 C++20 。
    所以当下这段时间我会继续使用 C++17 。等到 FreeBSD 12.x 停止支持了(今年年末),我再升级语言标准也不迟。
    Daeyn
        65
    Daeyn  
       2023-09-28 15:09:43 +08:00 via iPhone
    喜欢 C ,不喜欢 C++,经验是写过 8 年 C++游戏服务器端
    cnbatch
        66
    cnbatch  
       2023-09-28 15:12:03 +08:00
    我在公司里会用 C++写命令行工具(哪怕是 Windows Only 的),这时候就可以放飞自我了,因为不用开源,我想怎么写就怎么写,甚至写出一大堆不符合 C++ Core Guidelines 的代码。反正这时候的目标只有一个:能跑不崩就行。
    Yayiliu
        67
    Yayiliu  
       2023-09-28 15:14:39 +08:00   ❤️ 5
    写了一段时间 rust,编译器告诉我,“是为你好,听我劝,我不要你觉得,我要我觉得,没有但是,理由都是借口,不是包不好,这么多年了你还不进步是你的问题”,以上换成人话后,你还喜欢 rust 吗?抱歉,有些事情我必须自控不需要你指指点点,你这些鸡汤留给新手就可以了。
    idealhs
        68
    idealhs  
       2023-09-28 15:26:24 +08:00
    有没有可能,C++的开发体验完全取决于行业?不同行业用 C++的方式完全不同,相似的只有无尽的内存操作
    Masoud2023
        69
    Masoud2023  
       2023-09-28 15:28:51 +08:00
    我也喜欢 c++,但我写不明白 makefile
    Masoud2023
        70
    Masoud2023  
       2023-09-28 15:29:03 +08:00
    也写不明白 cmakelist
    yx1989
        71
    yx1989  
       2023-09-28 15:52:25 +08:00
    @weak 像 rust 面向编译器编程,C++的编译报错还远远不够(手动狗头)。

    C++ 的门槛和天花板都很高,一不小心就会带入奇怪的问题。
    msg7086
        72
    msg7086  
       2023-09-28 16:02:01 +08:00
    @mightybruce 我觉得需要一个 C++14/17/20/23/26 的 Modern C++教程系列。我之前稍微玩过一点 C++,结果连智能指针都没完全搞明白。
    mightybruce
        74
    mightybruce  
       2023-09-28 16:28:55 +08:00   ❤️ 2
    书 在 github 上
    《 modern c++ tutorial c++11/14/17/20 on the fly 》
    https://github.com/changkun/modern-cpp-tutorial
    然后看各种现代 c++ 的库的写法
    stl boost envoy
    holy_sin
        75
    holy_sin  
       2023-09-28 18:33:30 +08:00
    想要个官方的包管理工具 不知道过不过分
    Kirscheis
        76
    Kirscheis  
       2023-09-28 19:44:26 +08:00
    只要不需要和菜鸡合作,不需要处理屎山,那 modern cpp 就是很爽,一切尽在掌握中的这种精准性是别的语言比不了的。。。内存管理啥的,用好智能指针和左右值引用和 rust 也没啥区别,生态还更加丰富,相比之下 rust 在目前根本就写不了任何严肃的 GUI 和 GPU 代码。虽然现在做的东西用 rust 越来越多了,我自己也用 rust 更多一点,但是目前来说肯定还是 cpp 更胜一筹。

    当然了,如果队友多的话,我还是更倾向于用 rust 或者 java 这些强迫每个人都不准写烂代码的。
    buaacss
        77
    buaacss  
       2023-09-28 20:03:12 +08:00
    @joyhub2140 笑死,距离产生美嘛
    xiaopanzi
        78
    xiaopanzi  
       2023-09-28 21:54:22 +08:00
    @mightybruce Rust 现在进入了 Linux 内核,而 JS 是 Web 的根基。根本不会被人抛弃!
    duke807
        79
    duke807  
       2023-09-28 22:43:15 +08:00 via Android
    @xiaopanzi 过不了多久 rust 就会被移出内核,有生之年系列
    cnbatch
        80
    cnbatch  
       2023-09-28 23:09:25 +08:00
    @holy_sin C 以及 C++连“官方”编译器都没有,更别说官方包管理器了

    其实很长时间以来,包管理是由操作系统自己的软件包管理器负责的,系统的软件包管理器同时就是 C/C++的包管理器。这原本是很方便的优势。
    只不过 Linux 发行版特别多,无法保证想用的包全都能出现在所有发行版当中。
    再加上 Windows 和 macOS 完全不做这种事,想要管理那就只能靠第三方软件(例如 vcpkg ,尽管也是微软的,但并不是预装在 Windows 当中)。
    于是,优势成了劣势。

    难怪不少语言索性自带包管理工具。

    如果 C 以及 C++背靠大公司,那么或许还能有个集大全的包管理器。可惜现实并不能。当初诞生 C 以及 C++的贝尔电话公司早就被拆散了,ISO 委员会也没资源去干这样的事。
    真想要做,那就必须两个 ISO 委员会( C 语言的 9899 和 C++的 14882 )同时协调着做,难度就更高了(时间会浪费在官僚式扯皮当中)。
    cnbatch
        81
    cnbatch  
       2023-09-28 23:14:59 +08:00
    @cnbatch 手误,“贝尔电话公司早就被拆散了”应为“AT&T 公司早就被拆散了”
    bkmi
        82
    bkmi  
       2023-09-28 23:22:45 +08:00 via Android
    还是写的少了,我还是觉得限制多的语言写起来舒服,写不出花哨的代码,犯错的机会就少一些
    xiaopanzi
        83
    xiaopanzi  
       2023-09-29 08:05:22 +08:00
    @duke807 你给个“过不了多久”的具体期限。我们来个 100 元话费的赌注:)
    Ui68Hipts8J4QNKG
        84
    Ui68Hipts8J4QNKG  
       2023-09-29 10:34:34 +08:00
    @duke807 怎么讲?
    mightybruce
        85
    mightybruce  
       2023-09-29 10:37:16 +08:00
    @xiaopanzi 你看不懂我说的意思吗? Rust 开源项目大多都是开始有人维护,最后都不了了之的,(没人维护,没人更新)。
    Rust 本身并没有什么明星项目,也没有建立起相关领域。
    上个叫嚣要干死 C++ 的 DLang 坟头草都长了好久了。
    另外 Rust 语言设计开始不想着兼容 C/C++,所以 C++ 项目迁移时很难的,倒不如谷歌 Carbon 语言的设计思路。
    araraloren
        86
    araraloren  
       2023-09-29 10:55:09 +08:00
    @mightybruce Obviously rust is the future, Microsoft, Google and Cloudflare all knows that.
    SHF
        87
    SHF  
       2023-09-29 11:52:47 +08:00
    @mightybruce 看好 Carbon ,投 Carbon 一票,等编译器出来了一定会第一时间试用一下
    kakki
        88
    kakki  
       2023-09-29 16:52:24 +08:00 via Android
    感性认识到理性认识的过程,很明显你没有工程经验,属于感性认识阶段。
    wa007
        89
    wa007  
       2023-09-29 17:49:02 +08:00
    我以前也挺喜欢的,只作为爱好使用。
    看了评论区,受益匪浅。
    DinoStray
        90
    DinoStray  
       2023-09-30 00:45:37 +08:00
    我也喜欢, 因为我是细节控, 我要非常精准的控制内存和线程
    Tanix2
        91
    Tanix2  
       2023-09-30 09:19:25 +08:00
    你自己喜欢你不知道为啥?
    2NUT
        92
    2NUT  
       2023-09-30 12:55:09 +08:00
    天赋异禀,天选之人,就该吃 cpp
    tianshilei1992
        93
    tianshilei1992  
       2023-10-01 07:19:35 +08:00
    C++ 是我的主力语言,但是我觉得还是有个必要学个 Rust 的,虽然 Rust 现在也差不多是一地鸡毛…
    holy_sin
        94
    holy_sin  
       2023-10-07 10:08:12 +08:00
    @cnbatch 所以 c++ 入门体感比较差吧,有大部分时间都在配置环境
    cnbatch
        95
    cnbatch  
       2023-10-07 16:22:29 +08:00
    @holy_sin 单纯入门并不至于“大部分时间都在配置环境”的,这得看 OS 的种类

    Windows: 下载安装 Visual Studio ,完事(不是指 VSC ),打开 IDE ,可以开始入门学习了

    Linux:选最新发行版,安装开发工具包( sudo apt install build-essential 或者 sudo dnf groupinstall "Development Tools" "Development Libraries"),再选个 IDE 或编辑器+插件。然后调一调 IDE 、设置编辑器。

    BSD:虽然使用 BSD 来入门的人基本不存在,毕竟能够用 BSD 的人本身就懂许多开发相关的事情。不过用 BSD 入门还真是比 Linux 少一步,只需要选个 IDE 或编辑器+插件,再编辑下设置。


    只要不是一上手就搞“mingw 在 Windows 编译 Linux 程序”、“cygwin 在 Linux 编译 Windows 程序”,老老实实只编译当前平台的二进制(话说回来,“入门”阶段就编译跨平台二进制,这可不是入门者的级别),那么真的不太需要总是配置环境。

    真正需要花费大量时间配置环境的,也就是刚才提到的跨平台编译,除了提到的这两个,还有“Linux x86/x64 环境编译出 ARM 二进制”这种。不过都到这种程度了,已经不能算是“入门”级别。
    xivnaz
        96
    xivnaz  
       2023-11-02 19:58:20 +08:00
    楼主有写界面吗?
    我也是觉得 C++很特殊,跟其他高级语言不太一样。
    但是,它真的很难搞。
    我就想给写好的程序加个界面,fltk 就死活编译不通过。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   940 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 22:13 · PVG 06:13 · LAX 14:13 · JFK 17:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.