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

好的 c++代码是什么样的

  •  
  •   daju233 · 8 天前 · 3434 次点击

    如题,如何写出好的 c++代码

    28 条回复    2025-07-02 19:25:19 +08:00
    donaldturinglee
        1
    donaldturinglee  
       8 天前 via Android
    选择合适的数据结构,遵循命名规则,缩进,有良好的注释。至于你说如何写出好的 c++那可太笼统了
    llxvs
        2
    llxvs  
       7 天前 via iPhone   ❤️ 2
    如何过好一生
    xuelang
        3
    xuelang  
       7 天前   ❤️ 3
    leveldb 写的很不错,我最近在读,真心喜欢这样的 c++ 代码。顺便整理了系列博客,可以参考

    https://selfboot.cn/tags/leveldb/
    villivateur
        4
    villivateur  
    PRO
       7 天前
    要不直接学习 gcc 的源码?
    thiiadoewjwe
        5
    thiiadoewjwe  
       7 天前
    可以直接搜腾讯,360 和其他企业 C++语言规范还是什么的,github 都有官方开源的,把不好的习惯规避掉,就是好的代码
    wuruxu
        6
    wuruxu  
       7 天前   ❤️ 1
    C++看 chromium 的代码,C 看 nginx 或者 postgreSQL 的代码
    kapaseker
        7
    kapaseker  
       7 天前
    @xuelang 嚯,更新马上一年了,厉害
    hwdq0012
        8
    hwdq0012  
       7 天前
    我是先学 c#再学 c++的, 把 c++写得像 c#, 对我来说就是好
    wyntalgeer
        9
    wyntalgeer  
       7 天前
    又来蒸馏 V 站老哥
    SGL
        10
    SGL  
       7 天前
    @wyntalgeer 蒸馏这个词用的好,乐
    0X00FFFF
        11
    0X00FFFF  
       7 天前
    FFmpeg
    buf1024
        12
    buf1024  
       7 天前
    通俗易懂,没有黑魔法,初级程序员上手一眼能看懂。
    hhjuteman
        13
    hhjuteman  
       7 天前
    c++是一门比较自由的语言,c++程序员大多数都有性能魔怔,有些流派就是可以为了性能牺牲可读性。
    比较常见的破坏可读性的写法有位操作,循环展开之类的,还有直接插入一些 SIMD 指令之类的,魔怔一点的还有 cache 亲和数据结构,无分支编程之类。

    取决于你做的项目和代码应用场景,高性能领域就是性能越高代码越好,其他的一切给性能让路。其他场景的好就是传统意义上的好。
    uxstone
        14
    uxstone  
       7 天前
    多写注释
    csfreshman
        15
    csfreshman  
       7 天前
    说一些自己看过的 c:redis c++:leveldb 或者 ffmpeg ,多写总结,现在看不懂的丢给 ai ,很方便
    wnpllrzodiac
        16
    wnpllrzodiac  
       7 天前 via Android
    @0X00FFFF 纯 c 虽然用了 c 模拟 cpp
    Johann7
        17
    Johann7  
       7 天前
    @xuelang 非常好博客
    esrkforward
        18
    esrkforward  
       7 天前
    @villivateur 好奇问下,为什么你的 ID 后面有 PRO 标志?潜水 V 站很久了第一次看到 PRO 用户
    TerryRobles
        19
    TerryRobles  
       7 天前
    https://google.github.io/styleguide/cppguide.html
    我是做嵌入式软件开发的主要写 C ,C++只偶尔写个客户端,我是大概照链接这个标准写的。
    C 的话是用这个标准:MISRA C
    gigishy
        20
    gigishy  
       7 天前 via iPhone
    op 简单提的问,那么简单回答:
    写之前,伪代码把算法数次优化,然后下手,一气呵成。
    tyzandhr
        22
    tyzandhr  
       7 天前
    不要写得像 c
    xuelang
        23
    xuelang  
       7 天前
    @Johann7 谢谢~
    daju233
        24
    daju233  
    OP
       7 天前
    感谢各位的回答,我知道我的问题可能有些偏简单了,我确实是不太了解 c++,因为最近刚开始学,没有任何领域专门的需求,但是看别人聊天经常看到很多讲究,所以非常好奇。语言组织不起来,如有不便还请各位老哥们见谅

    尤其感谢 @xuelang 的博客,mark 了
    iceheart
        25
    iceheart  
       6 天前 via Android
    读起来不费劲的代码就是好代码。
    daju233
        26
    daju233  
    OP
       6 天前
    @xuelang 话说想读 leveldb 代码的话,除了有基础的 db 知识,写过类似的 db 项目。对 c++本身需要了解到什么程度呢?
    xuelang
        27
    xuelang  
       5 天前
    @daju233 本身的话,稍微有点基础,懂语法规则就可以。然后看到不懂的部分,问问 AI ,边看代码边学
    bfjm
        28
    bfjm  
       5 天前 via iPhone
    从我自身经验来讲 代码能够被很好的阅读 能够很好的写单元测试 能够使用一些设计模式在项目中让结构层次清晰 能够减少拷贝 减少锁 在顶层架构需要更好的抽象 能理解线程之间的通信 在需要性能的方面知道如何做(比如 shared memory ) 以及更好的利用缓存( cpu cache 等) 更好的利用编译器优化( rvo 等)知道如何避免伪优化( false sharing )
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   950 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 21:41 · PVG 05:41 · LAX 14:41 · JFK 17:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.