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

老是用别的语言习惯写 C/C++是不是不太好。。。

  •  1
     
  •   zxCoder · 2021-06-11 16:17:47 +08:00 · 1405 次点击
    这是一个创建于 1291 天前的主题,其中的信息可能已经有所发展或是发生改变。

    还是说要趁早改正过来

    12 条回复    2021-06-13 16:42:46 +08:00
    AoEiuV020
        1
    AoEiuV020  
       2021-06-11 16:30:24 +08:00
    一般来说一门语言一个习惯比较好,
    3dwelcome
        2
    3dwelcome  
       2021-06-11 16:41:09 +08:00
    思路要变一下,不要我们去适应一种语言,要语言反过来适应我们。

    从来就没看到写前端的,刻意去兼容 JS 语法,都是用各种前端编译器去支持 ES6 。

    换成 C++也可以啊。QT 早就发明扩展 C++语法,加个 Preprocessor 处理一下源代码就行,只是这个理念很少普及开。行业内复杂的 C++模板预处理,很多都可以通过挂载一个 Preprocessor 来解决。总比写一堆只有自己才能看懂的模板要好不少。
    qiuhang
        3
    qiuhang  
       2021-06-11 17:01:31 +08:00
    作为一个 python 佬,我就很烦用 java 的语法习惯写 python 代码的同事,或许 C/C++ 同理?
    zxCoder
        4
    zxCoder  
    OP
       2021-06-11 18:52:09 +08:00
    @qiuhang 我最开始学的是 java/c# 现在写啥都那味。。。
    aristolochic
        5
    aristolochic  
       2021-06-11 19:51:04 +08:00
    C 就算了,C++写成啥样都不奇怪( x
    yitingbai
        6
    yitingbai  
       2021-06-11 19:59:20 +08:00
    习惯真的是个很难改变的东西, 写 java 写习惯了, 写 js 行尾必须加分号, 虽然知道分号可有可无
    zxCoder
        7
    zxCoder  
    OP
       2021-06-11 20:20:27 +08:00
    @yitingbai js 还好。。。我写 python 也老是加空格。。。
    zxCoder
        8
    zxCoder  
    OP
       2021-06-11 20:20:40 +08:00
    @yitingbai 打错 加分号
    levelworm
        9
    levelworm  
       2021-06-11 20:37:26 +08:00 via Android
    基本上每个语言都有它自己的风格。楼上说得好,C++除外。。。你能找到各种风格。
    ipwx
        10
    ipwx  
       2021-06-11 21:30:08 +08:00
    @zxCoder 。。。其实加不加空格分号是语言习惯最容易改的部分。

    真正的部分是怎么组织项目、怎么做接口和类设计…… 这些才是不同语言不同习惯最重要的地方。违逆这些 best practice 写东西会越写越别扭,写不动几万行代码的项目。
    zxCoder
        11
    zxCoder  
    OP
       2021-06-13 16:14:11 +08:00
    @ipwx 比如写 c/c++我就不会用指针。。。我就只会创建对象,调用函数这种 java 写法。。。
    ipwx
        12
    ipwx  
       2021-06-13 16:42:46 +08:00   ❤️ 1
    @zxCoder 自信点,裸指针 T* 在 C++ 大项目里面本来就是大忌。

    我前几个月写了个 3 万行的 C++ 项目,多线程的,actor-model 。这么大的、牵扯到并行的项目,如果指针满天飞我早就崩溃了。

    老子不管什么引用计数引入了一点点开销,老子牵扯到多线程的传递对象都是 shared_ptr<T>。性能不够?多线程频繁申请内存的时候用 malloc 有可能有锁?用 tcmalloc 啊?大不了过段时间老子仿 boost::flyweight 写个智能指针池不就行了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4377 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 04:06 · PVG 12:06 · LAX 20:06 · JFK 23:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.