大家有没有觉得用多了智能指针后,用裸指针的能力有所退化了 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
macha
V2EX    C

大家有没有觉得用多了智能指针后,用裸指针的能力有所退化了

  •  
  •   macha 2019-04-27 08:20:11 +08:00 6363 次点击
    这是一个创建于 2358 天前的主题,其中的信息可能已经有所发展或是发生改变。
    反正我现在看到复杂一点的指针用法要想一会,还是智能指针用着爽。
     2019-04-28 10:50:27 +08:00
    lhx2008
        1
    lhx2008  
       2019-04-27 08:24:54 +08:00 via Android
    就算没有智能指针,也得造个同样的轮子吧
    huluhulu
        2
    huluhulu  
       2019-04-27 08:55:01 +08:00 via iPhone
    不用 c++,想用也没办法用…
    lihongjie0209
        3
    lihongjie0209  
       2019-04-27 09:33:58 +08:00   1
    你现在还会上树吗?
    bp0
        4
    bp0  
       2019-04-27 09:44:12 +08:00
    @lihongjie0209 上之前得想一会。
    Nasei
        5
    Nasei  
       2019-04-27 09:44:58 +08:00 via Android
    别说指针,c++ 都快忘怎么写了
    gam2046
        6
    gam2046  
       2019-04-27 09:47:44 +08:00
    VB -> Delphi -> C# -> Java

    这一路过来就没用过指针,唯独 Delphi 里有指针的概念,但是多数情况下,都不需要用。
    VDimos
        7
    VDimos  
       2019-04-27 09:49:08 +08:00 via Android
    Rust 直接把裸指针标记为 unsafe,一般情况下直接操作裸指针门槛和代价都太高了,还不如交给编译器
    Earl
        8
    Earl  
       2019-04-27 10:00:38 +08:00
    shared_ptr 用起来是爽,但是复杂度也高了。
    turi
        9
    turi  
       2019-04-27 10:05:53 +08:00
    听说 c++20,使用裸指针被警告
    zjsxwc
        10
    zjsxwc  
       2019-04-27 10:12:48 +08:00
    有 auto_ptr、unique_ptr、shared_ptr、weak_ptr 了
    用裸指针自己找虐吗
    thedrwu
        11
    thedrwu  
       2019-04-27 10:17:41 +08:00 via Android
    对!以前 c 从 dos 写到 win98。现在 c++11/boost 的智能指针用惯了,没有智能指针的时候要想半天要传几层指针,打几个星号。
    即使有个简单的 RAII 也比原汁原味的指针用起来舒服。
    abcbuzhiming
        12
    abcbuzhiming  
       2019-04-27 10:30:40 +08:00
    C 的指针一直以来就有说法加重了程序员的心智负担。你以为是说说而已吗,要真是什么特别好的设计,为啥之后的语言都在想方设法的规避这玩意
    reus
        13
    reus  
       2019-04-27 10:41:37 +08:00
    用全自动 GC 之后,什么所有权生命期全都不需要关心
    sunocean
        14
    sunocean  
       2019-04-27 11:11:18 +08:00
    大家有没有觉得, 穿了衣服以后, 抵御寒冷的能力下降了?
    Wisho
        15
    Wisho  
       2019-04-27 12:16:38 +08:00
    如果你的工作内容主要是维护 2010 年之前的老系统, 甚至是 2000 年前的...
    Raymon111111
        16
    Raymon111111  
       2019-04-27 13:25:12 +08:00
    那你还不会用汇编呢
    UFc8704I4Bv63gy2
        17
    UFc8704I4Bv63gy2  
       2019-04-28 08:25:43 +08:00 via Android
    我真不喜欢用智能指针,我是控制欲太强了吗?
    darknoll
        18
    darknoll  
       2019-04-28 09:07:00 +08:00
    @zjsxwc auto_ptr 是什么鬼
    zjsxwc
        19
    zjsxwc  
       2019-04-28 09:09:56 +08:00
    @darknoll STL 自带的啊
    wutiantong
        20
    wutiantong  
       2019-04-28 10:50:27 +08:00
    智能指针也不是万能的,用上 C++17 了吗? std::any,std::optional,std::variant 能帮你更精准的表达语义
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1151 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 17:45 PVG 01:45 LAX 10:45 JFK 13:45
    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