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

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

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

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

    啊当然平台是 Windows
    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   ·   我们的愿景   ·   实用小工具   ·   2927 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 15:18 · PVG 23:18 · LAX 08:18 · JFK 11:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.