123
返回列表 发新帖
楼主: bigyeet
跳转到指定楼层
上一主题 下一主题
收起左侧

[转CS-自学] 怎么提高C++能力,希望得到大佬们指点

🔗
Ferrix_5 2020-4-28 09:48:22 | 只看该作者
全局:
刷题对提高没什么用
强烈建议一本书 The Design and Evolution of C++. .и
在用到C++一些比较反直觉,不好理解的地方时读一读这本书,就能明白当时为什么要这么设计。当时的设计不一定是最优的(很可能不是),但一定是有迹可循的
回复

使用道具 举报

全局:
hxtang 发表于 2020/04/28 09:45:35
怕memory leak可以上valgrind。

我觉得还是要写code,只看书吃不透概念,如果耐心不好坚持不下来...
新时代应该用address sanitizer,基本全面优于valgrind
回复

使用道具 举报

🔗
next 2020-4-28 10:42:01 | 只看该作者
全局:
一定要多写,我工作中写C++,读过C++ Primer, inside the c++ object model, effective modern c++, stl源码剖析, etc.

但是这些书只能让你的代码写的“更好”, 如果你不一开始瞎写的话,发现不了自己的问题,一定要多写,多发现问题,多看书,然后写的更好,再多写,iterate下去

c++语言特点很多,我别的语言写的少不是很清楚别的怎么样。但是c++只看书记不住的。

如果你的目的是看懂无人车源代码的话,c++学到适可而止就好,一切以实用为准,以你的目的为准。
. check 1point3acres for more.
另外说说书,上面有人同时推荐了effective c++和effective modern c++,我推荐有限effective modern,另一本无所谓。
回复

使用道具 举报

🔗
HarveyLzz 2020-4-28 12:38:09 | 只看该作者
全局:
本帖最后由 HarveyLzz 于 2020-4-28 12:42 编辑

同样在学习也是无人车导向
想快速简略过一遍基础知识看这个系列视频https://www.youtube.com/watch?v=18c3MTX0PK0
想搞清楚pointer, virtual memory, process那些底层的知识,上一门计算机系统的课,比如CMU的15513网上就有视频
搞清楚语言系统学习看一看c++ primer
面试做题把STL搞熟练,就是刷题,但面试经常会问很多cpp特性
其实以无人车为目标的话还得掌握很多library比如OpenCV, PCL, Eigen, Ceres这些,还有ROS, 不然到时候用起来很懵逼。 百度阿波罗的source code也是非常好的学习资料,还有LOAM的源码也可以用来学习怎么处理不同传感器信息,用C++科学计算等等. 1point3acres
以上仅供参考



回复

使用道具 举报

🔗
EDC666 2020-4-28 14:50:46 | 只看该作者
全局:
HarveyLzz 发表于 2020-4-28 12:38
同样在学习也是无人车导向
想快速简略过一遍基础知识看这个系列视频https://www.youtube.com/watch?v=18c3 ...

这个Cherno的C++频道真的非常好哈哈 我差不多刷完了
这个也不错 好像更高级:https://www.youtube.com/playlist ... buV1hx8Xz-rFZTan2J1
回复

使用道具 举报

🔗
tommy123123 2020-4-28 15:01:17 | 只看该作者
全局:
多写 多看 不过工作了前期也是改别人的代码。
回复

使用道具 举报

🔗
酒旗风暖 2020-4-28 23:49:12 | 只看该作者
全局:
求问
刷LeetCode对提高C++水平吗?如果否的话,去哪儿找合适的习题呢?
回复

使用道具 举报

🔗
 楼主| bigyeet 2020-4-29 00:26:58 | 只看该作者
全局:
酒旗风暖 发表于 2020-4-28 23:49
求问. 1point3acres
刷LeetCode对提高C++水平吗?如果否的话,去哪儿找合适的习题呢?

我觉得不会,leetcode只是练习解决问题的
回复

使用道具 举报

🔗
yang7 2020-4-29 00:47:33 | 只看该作者
全局:
本帖最后由 yang7 于 2020-4-29 00:53 编辑

leetcode只是提高对基本数据结构和算法,对提高c++技能基本没啥用,也就对c++ stl各种container能够多熟悉熟悉,其他的各种特性基本在leetcode里面都接触不到,而且leetcode连main function都不需要写的,只是往class里面添加method。

effective c++和more effective c++里面的技巧虽然是比较老版本的c++,但是总的来说我觉得对写efficient c++ code还是有一定的指导意义。另外就是同一个作者另一本书 effective modern c++,这个是对c++11和c++14的更新版本。里面有很多新版本c++的特性。. 1point3acres

也取决于你接触到/使用的c++ code是不是有大量c++11/14的特性吧,如果没有的话,其实前两本书也差不多够用了。. 1point3acres.com

另外注意的是,这三本书都不是那种系统的从头讲解c++的,只是讲了很多specific的技巧。如果是想要很详细,很系统,很全面的讲解,其他人说到的c++ primer可以参考。另外还有c++ primer plus,但是我看网上评价不太好,说不如c++ primer。

另外就是多看别人的code,然后多动手写,写的时候多参考,多模仿。

我工作也写了两三年c++,各种debugger,address sanitizer, valgrind自以为都用过不少,但是面试被问到c++的一些特性还是被问的一愣一愣的,甚至是一些看似简单基础的东西还有很多没有摸透的特性。。。
. check 1point3acres for more.
c++真的是内容太多了,感觉学无止境,而且各种奇技淫巧,没人敢说精通。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表