重新捡起并深入 C++的方法? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
YyYyYyy
V2EX    C

重新捡起并深入 C++的方法?

  •  
  •   YyYyYyy 2017-08-25 16:42:27 +08:00 2772 次点击
    这是一个创建于 2973 天前的主题,其中的信息可能已经有所发展或是发生改变。
    本人上次写 C++还停留在大学期间,之后一直用是 C#和 unity3D。
    由于某学术原因,可能需要重新捡起 C++和 OpenGL/DX

    倒不是对内存分配,指针,引用,类这些东西不熟练。语法细节什么的翻翻 C++ Primer 也好补。
    主要是对一些非语法的东西一脸懵逼,比如什么标准库啊,编写 DLL 啊,调用约定啊,还有那些一堆开头下划线的东西,甚至是 MSVC/Gcc/Clang 这些编译相关的东西(并没有学过编译原理)
    哦对还有那已经计划到 C++20 的标准……
    懵逼点在于这些东西我还不能整理到一个知识网络里,很散,也并不知道这些知识在哪些有名的书籍里。
    想知道有什么可以用来按图索骥的东西吗?

    啊当然平台是 Window
    9 条回复    2017-08-27 23:36:27 +08:00
    feng1234
        1
    feng1234  
       2017-08-25 16:45:18 +08:00
    楼主是想干程序员还是就单纯完成学术任务?目的不一样,学的内容就会缩小很多
    YyYyYyy
        2
    YyYyYyy  
    OP
       2017-08-25 16:48:14 +08:00
    @feng1234 近期的话应该是学术目标吧,长远看还是想掌握 C++写程序的(毕竟 unreal 等一干引擎还是要用 C++的……
    acros
        3
    acros  
       2017-08-25 17:03:59 +08:00   1
    我跟你反过来的。

    标准库这个有 C++标准库那本书,按定位,类似 C#的 System.Generic/System.Collection 哪种? (好像不太贴切的类比)。
    至于 DLL、调用约定那个,大概是平时习惯.Net 环境不太适应?知道有讲这类的,但是这本也略枯燥:
    https://book.douban.com/subject/3652388/
    不知道有没有同类型更好的选择。
    acros
        4
    acros  
       2017-08-25 17:05:54 +08:00
    一堆开头下划线的东西?
    是指 C++或 VS 编译器内置宏吗? 这个我也不懂,一般卡着了去查 MSDN 文档的。
    feelapi
        5
    feelapi  
       2017-08-25 21:56:21 +08:00   1
    https://book.douban.com/subject/3652388/
    这本书够了,剩下的都可以 Google 到。看完了就可以开始干活了,不会的现学。学术用途的话足够了。

    现在还在用 C++的都是有特别目的的,比如做大型软件(上千万行这种),通用库,操作系统等等。其他的其实要求没那么高。
    skadi
        6
    skadi  
       2017-08-25 22:12:24 +08:00   1
    effective mordern c++
    油管上有讲这本书的.
    顺便参考一下: http://en.cppreference.com/w/cpp
    当然还可以看看 msdn
    alqaz
        7
    alqaz  
       2017-08-26 11:16:16 +08:00   1
    标准库,和楼上一样,http://en.cppreference.com/w/cpp
    dll 模块方面,网上搜,文章好多
    c++20,现在不需要看,vs 应该不支持,看看 c++11 相关的就可以了。
    编译器相关参数,都用上 vs 了,暂时不需要
    调用约定,你暂时也不需要管,或者都写成一样的,就可以。
    OpenGL/DX,你既然以前是做 unity3D,很多概念应该有类似的地方。
    至于开头下划线的东西,我不知道你是说宏定义韩式什么,或者调用约定。
    jukka
        8
    jukka  
       2017-08-26 19:29:45 +08:00 via iPhone
    重点是你做的内容,并不是 C++本身的特性。
    codehz
        9
    codehz  
       2017-08-27 23:36:27 +08:00
    @alqaz #7 VS 起码实现了大部分 C++17 的东西。。。而且有 VC-LTL 这种东西的存在,也不需要太过担心低版本的兼容问题。。。反正我是试过好多 C++17 的特性,包括模块在内都是有实现的。。。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5279 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 07:09 PVG 15:09 LAX 00:09 JFK 03:09
    Do have faith in what you're doing.
    ubao msn 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