最近在研究 C++,觉得还是应该认真学习下,提升自己的代码编写水平
1
tomfs 2018-08-04 10:20:53 +08:00 via iPhone
github 找自己兴趣相同的代码动手撸
|
2
tomfs 2018-08-04 10:21:46 +08:00 via iPhone
去年注释加笔记了个框架的代码,自我提升感觉很明显,推荐楼主。
|
3
Wicked 2018-08-04 10:27:57 +08:00 via iPhone
看 C++程序语言,教父写的那本
看 Effective C++,两本,Meyer 写的 看 C++对象模型 上面的依次往下,由浅入深,根据你自己所在阶段选择 |
4
Wicked 2018-08-04 10:35:59 +08:00 via iPhone
之前看过还有一本不错的,好像叫 C++并发编程还是啥来着,里面有讲 C++11 的同步机制和共享内存模型,写多线程的话值得一看
|
5
xuyuheng0905 2018-08-04 11:23:44 +08:00
@Wicked C++ Concurrency in Action. Manning.
|
6
smallseven 2018-08-04 11:32:08 +08:00
个人觉得学习 C++,先从语法,到逻辑,再到编译,再到优化,慢慢的深入。C++说到底只是工具,多学多用就会熟练,精通的话不敢讲,起码会得心应手一点。其实我们更需要的是一些基础知识和编程思想。多思考,多练,书的话就找经典的一两本就行,推荐 C++ 11,C++性能优化指南。总之图精不图多,还有就是要动手。
|
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++代码精粹 |
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; } 上述程序有没有内存泄漏的风险? ” |
9
Wicked 2018-08-04 12:07:10 +08:00 via iPhone
@xuyuheng0905 对,就是这本,memory order 那一块写得很清楚,作者好像也参与了这部分的标准制定
|
10
zmxnv123 2018-08-04 12:39:53 +08:00 via Android
头像是 baston 吗?
|
12
HimmelTan 2018-08-04 14:10:52 +08:00 via iPhone
c++ primer 不推荐吗?我最近看的是这本,初学者,有 c 和 java 的一点点基础。
|
13
xiangchen2011 OP 太厚的书感觉就是劝退。。。。。。而且网上很少火的 C++项目,接触到的很多都是比较高级的东西,从基础到高级感觉缺乏一个有效的过度
|
14
xiangchen2011 OP 然而看顶会的 paper,大多还是因为 C++的效率高作为实现语言,所以要想向一流看齐,这还是一个必须过得坎
|
15
xiangchen2011 OP 嗯。。。。。。怎么没人回复了呢。。。。。。嗯。。。。
|
16
AngelCriss 2018-08-04 17:39:42 +08:00 via Android
@xiangchen2011 很少火的项目。
大概是因为用 cpp 的人都喜欢自己造轮子吧。 接触到的都是比较高级的东西? 这可能还是和前面有关,比如标准库没有网络库,要想用网络库就得自己写,这就涉及到了系统编程。这样就会发现会了 cpp 语法做不了啥事,导致看到 cpp 的轮子觉得高级? 最后,回到正题,purecpp.org 还算是个 cpp 社区,楼主可以看看。 项目的话,purecpp 也有些项目 github.com/topcpporg |
17
xiangchen2011 OP @AngelCriss 可以可以,这个社区很不错啊
|
18
AngelCriss 2018-08-04 17:54:58 +08:00 via Android
@xiangchen2011 然而这个社区并不活跃,大概只有祁宇一个人吧。。
|
19
laike9m 2018-08-04 18:39:49 +08:00 via Android
视频的话推荐一个 YouTube 频道 TheChernoProject,正经的 EA 现役工程师,讲解清晰质量极高
https://www.youtube.com/user/TheChernoProject |
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 》 这些就基本够你看的了 |
22
lance6716 2018-08-04 20:15:27 +08:00 via Android
|
23
xiangchen2011 OP 确实,python 学一会就可以撸个小程序出来,C++安装一个库可能就要很久,直接劝退
|
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 顶会论文很多代码写的其实也比较粗糙... 要写好代码还得多练... |
25
fuyufjh 2018-08-05 02:29:00 +08:00
如果是学生。。为了身心健康,建议赶紧转 Java
|
26
xiangchen2011 OP @yche 嗯嗯,写的很详细
|
27
xiangchen2011 OP @fuyufjh 想搞科研,java 还是不太行啊,科研用的库比较少
|
28
CokeMine 2018-08-05 12:11:53 +08:00
为什么没人推荐 c++ primer plus、、
|
29
renhua 2018-08-05 13:01:59 +08:00
|
30
Zeroxus 2018-08-05 13:34:25 +08:00
@CokeMine #28 C++ primer plus 这本没有 C++ primer 讲的干脆,啰里啰唆的容易把人绕晕
|
31
fuyufjh 2018-08-05 16:29:37 +08:00
@xiangchen2011 这样~那就无所谓了
|
32
HHehr0ow 2018-08-05 23:48:40 +08:00
@gnaggnoyil 的回答是最 modern C++ 的进阶方法。
|