求推荐 C++好的学习资源,博客、视频、项目均可 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xiangchen2011
V2EX    C

求推荐 C++好的学习资源,博客、视频、项目均可

  •  
  •   xiangchen2011 2018-08-04 10:10:06 +08:00 6766 次点击
    这是一个创建于 2677 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近在研究 C++,觉得还是应该认真学习下,提升自己的代码编写水平

    32 条回复    2018-08-05 23:48:40 +08:00
    tomfs
        1
    tomfs  
       2018-08-04 10:20:53 +08:00 via iPhone
    github 找自己兴趣相同的代码动手撸
    tomfs
        2
    tomfs  
       2018-08-04 10:21:46 +08:00 via iPhone
    去年注释加笔记了个框架的代码,自我提升感觉很明显,推荐楼主。
    Wicked
        3
    Wicked  
       2018-08-04 10:27:57 +08:00 via iPhone
    看 C++程序语言,教父写的那本
    看 Effective C++,两本,Meyer 写的
    看 C++对象模型
    上面的依次往下,由浅入深,根据你自己所在阶段选择
    Wicked
        4
    Wicked  
       2018-08-04 10:35:59 +08:00 via iPhone
    之前看过还有一本不错的,好像叫 C++并发编程还是啥来着,里面有讲 C++11 的同步机制和共享内存模型,写多线程的话值得一看
    xuyuheng0905
        5
    xuyuheng0905  
       2018-08-04 11:23:44 +08:00
    @Wicked C++ Concurrency in Action. Manning.
    smallseven
        6
    smallseven  
       2018-08-04 11:32:08 +08:00
    个人觉得学习 C++,先从语法,到逻辑,再到编译,再到优化,慢慢的深入。C++说到底只是工具,多学多用就会熟练,精通的话不敢讲,起码会得心应手一点。其实我们更需要的是一些基础知识和编程思想。多思考,多练,书的话就找经典的一两本就行,推荐 C++ 11,C++性能优化指南。总之图精不图多,还有就是要动手。
    wzxlovesy
        7
    wzxlovesy  
       2018-08-04 11:32:31 +08:00 via Android
    C++ programming language 4th
    Effective modern c++
    Design patterns in modern c++
    C++ 11 工程实践与代码优化(国人写的,名字记不清了,但差不多是这个)

    一些稍早的书:
    C++沉思录
    Effective c++ / More effective c++
    C 和 C++代码精粹
    lance6716
        8
    lance6716  
       2018-08-04 11:55:13 +08:00 via Android
    哈哈正好昨天我们论坛有个劝退贴

    你确认你入门了吗?看这个程序:
    class Bar {
    public:
    Bar() {
    if (rand() % 2 == 1) {
    throw "Wow! I am an error!";
    }
    }
    void print() {
    printf("Hello world!\n");
    }
    };

    void foo(Bar *a, Bar *b) {
    a->print();
    b->print();
    delete a;
    delete b;
    }

    int main() {
    foo(new Bar(), new Bar());
    return 0;
    }


    上述程序有没有内存泄漏的风险?
    Wicked
        9
    Wicked  
       2018-08-04 12:07:10 +08:00 via iPhone
    @xuyuheng0905 对,就是这本,memory order 那一块写得很清楚,作者好像也参与了这部分的标准制定
    xe2vherd
        10
    xe2vherd  
       2018-08-04 12:39:53 +08:00 via Android
    头像是 baston 吗?
    xe2vherd
        11
    xe2vherd  
       2018-08-04 12:40:32 +08:00 via Android
    额 不是 当我没问 @zmxnv123
    HimmelTan
        12
    HimmelTan  
       2018-08-04 14:10:52 +08:00 via iPhone
    c++ primer 不推荐吗?我最近看的是这本,初学者,有 c 和 java 的一点点基础。
    xiangchen2011
        13
    xiangchen2011  
    OP
       2018-08-04 14:14:54 +08:00
    太厚的书感觉就是劝退。。。。。。而且网上很少火的 C++项目,接触到的很多都是比较高级的东西,从基础到高级感觉缺乏一个有效的过度
    xiangchen2011
        14
    xiangchen2011  
    OP
       2018-08-04 14:16:31 +08:00
    然而看顶会的 paper,大多还是因为 C++的效率高作为实现语言,所以要想向一流看齐,这还是一个必须过得坎
    xiangchen2011
        15
    xiangchen2011  
    OP
       2018-08-04 17:27:05 +08:00
    嗯。。。。。。怎么没人回复了呢。。。。。。嗯。。。。
    AngelCriss
        16
    AngelCriss  
       2018-08-04 17:39:42 +08:00 via Android
    @xiangchen2011 很少火的项目。

    大概是因为用 cpp 的人都喜欢自己造轮子吧。


    接触到的都是比较高级的东西?

    这可能还是和前面有关,比如标准库没有网络库,要想用网络库就得自己写,这就涉及到了系统编程。这样就会发现会了 cpp 语法做不了啥事,导致看到 cpp 的轮子觉得高级?

    最后,回到正题,purecpp.org 还算是个 cpp 社区,楼主可以看看。
    项目的话,purecpp 也有些项目 github.com/topcpporg
    xiangchen2011
        17
    xiangchen2011  
    OP
       2018-08-04 17:45:13 +08:00
    @AngelCriss 可以可以,这个社区很不错啊
    AngelCriss
        18
    AngelCriss  
       2018-08-04 17:54:58 +08:00 via Android
    @xiangchen2011 然而这个社区并不活跃,大概只有祁宇一个人吧。。
    laike9m
        19
    laike9m  
       2018-08-04 18:39:49 +08:00 via Android
    视频的话推荐一个 YouTube 频道 TheChernoProject,正经的 EA 现役工程师,讲解清晰质量极高
    https://www.youtube.com/user/TheChernoProject
    gnaggnoyil
        20
    gnaggnoyil  
       2018-08-04 19:19:26 +08:00   1
    cppreference.com
    WG21 的 proposal paper 和 standard 的 working draft(主要是 proposal paper)
    CppCon 里的大部分 presentation
    《 Real World Haskell 》
    这些就基本够你看的了
    dtgio
        21
    dtgio  
       2018-08-04 19:52:25 +08:00 via iPhone
    @lance6716 有吗?怎么说?
    lance6716
        22
    lance6716  
       2018-08-04 20:15:27 +08:00 via Android
    xiangchen2011
        23
    xiangchen2011  
    OP
       2018-08-04 21:40:25 +08:00
    确实,python 学一会就可以撸个小程序出来,C++安装一个库可能就要很久,直接劝退
    yche
        24
    yche  
       2018-08-04 23:47:47 +08:00
    可以看看我之前写的这个推荐:

    http://blog.cheyulin.me/?p=318

    然后多线程加向量化可以看看我论文(icpp18)的代码:

    https://github.com/GraphProcessor/ppSCAN/tree/master/pSCAN-refactor

    顶会论文很多代码写的其实也比较粗糙... 要写好代码还得多练...
    fuyufjh
        25
    fuyufjh  
       2018-08-05 02:29:00 +08:00
    如果是学生。。为了身心健康,建议赶紧转 Java
    xiangchen2011
        26
    xiangchen2011  
    OP
       2018-08-05 09:28:46 +08:00
    @yche 嗯嗯,写的很详细
    xiangchen2011
        27
    xiangchen2011  
    OP
       2018-08-05 09:29:20 +08:00
    @fuyufjh 想搞科研,java 还是不太行啊,科研用的库比较少
    CokeMine
        28
    CokeMine  
       2018-08-05 12:11:53 +08:00
    为什么没人推荐 c++ primer plus、、
    renhua
        29
    renhua  
       2018-08-05 13:01:59 +08:00
    http://boolan.com/jjhou

    可能有点贵。不过有免费资源,请自行搜索
    Zeroxus
        30
    Zeroxus  
       2018-08-05 13:34:25 +08:00
    @CokeMine #28 C++ primer plus 这本没有 C++ primer 讲的干脆,里唆的容易把人绕晕
    fuyufjh
        31
    fuyufjh  
       2018-08-05 16:29:37 +08:00
    @xiangchen2011 这样~那就无所谓了
    HHehr0ow
        32
    HHehr0ow  
       2018-08-05 23:48:40 +08:00
    @gnaggnoyil 的回答是最 modern C++ 的进阶方法。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     901 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 21:23 PVG 05:23 LAX 13:23 JFK 16:23
    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