C/C++学习顺序和经典参考书籍

wd_2014 2015-01-06 02:55:10
C/C++语言基础
入门书籍:

C Primer Plus C语言经典入门书籍

C++ Primer Plus C++语言经典入门书籍


基本工具库
C++标准程序库 C++标准模板库STL入门经典书籍
数据结构C++语言描述 数据结构是深入学习STL的基础


STL进阶
STL源码剖析 通过源代码深入分析STL,经典之作
SGI STL源码剖析 SGI版本的STL深入分析
Effective STL 高效STL开发学习
超越C++标准库 经典STL提高书籍
泛型编程与STL 以泛型角度来学习STL,深入彻底
标准模板库自修教程与参考手册 STL参考学习手册,详细全面

Windows平台学习
编程经典书籍
Windows程序设计 Windows平台学习的必看经典书籍
Windows核心编程 Windows编程深入学习经典书籍

Windows开发库

MFC Windows程序设计 MFC入门学习经典书籍

深入浅出MFC 深入学习MFC经典书籍
Windows用户态程序高效排错 编程调试经典书籍,提高开发效率

Linux平台学习
系统使用
鸟哥的私房菜 全面介绍Linux的使用,让初学者快速掌握Linux的使用

Linux初级编程
Linux命令、编辑器和shell编程 Linux编程入门学习书籍
嵌入式Linux应用开发完全手册 Linux编程入门学习书籍

Linux高级编程
Linux内核完全注释 Linux编程深入学习
Linux内核源代码情景分析_上册 Linux编程深入学习
Linux内核源代码情景分析_下册 Linux编程深入学习



进阶学习
软件开发

C++编程风格 C++开发好的编程风格,好的风格可以提高开发效率,降低出错率
C++编程规范-101条规则、准则与最佳实践 国际经典著作,提高编程规范
C++编程惯用法_高级程序员常用用法和技巧 很多通用的写法,可以让代码更加标准
敏捷软件开发(原则、模式与实践) 软件开发提高书籍
设计模式 软件开发提高必看书籍
大道至简-软件工程实践者的思想 软件工程,经典书籍

准标准库Boost
Boost程序库完全开发指南_深入C++“准”标准库 这一本为入门学习,如何使用Boost
Boost程序库探秘 - 深度解析C++准标准库 这本为深入学习,深入剖析

C++进阶学习
C++语言99个常见编程错误 了解错误,可以学习更多
C++语言的设计和演化 更加深入的了解C++的思想和精髓
C++沉思录 C++提高思维的经典读物

C语言进阶学习
C专家编程 C语言进阶学习经典书籍
C和指针 C的灵魂--指针,经典书籍
你必须知道的495个C语言问题 C语言的深入学习思考的书籍


程序员进修
程序员的自我修养-链接、转载与库 程序员进修深入学习书籍
程序员羊皮卷 程序员经典书籍
人件 提升程序员思想的书籍

数据库学习
程序员的SQL金典 数据库学习还不错的书籍
高性能MySQL MySQL学习经典书籍

PDF版的可以去下载对应的高清电子书,要PDF版的可以联系我QQ2949116479,版主求精哦!!
...全文
5611 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_43923526 2018-12-13
  • 打赏
  • 举报
回复
如何实现 C/C++ 与 Python 的通信?

想在 C++ 中用 Python 进行数值计算,Python 需要访问 C++ 的变量并计算后返回数值。有什么好办法呢?
晨颖 2018-12-07
  • 打赏
  • 举报
回复
大神,求教,用一年时间如何能掌握 C++ ?
有一定 C 语言基础,日后想从事游戏开发等工作,给自己一年时间,能在此期间精通 C++ 吗?
weixin_43923526 2018-12-07
  • 打赏
  • 举报
回复
用一年时间如何能掌握 C++ ?

有一定 C 语言基础,日后想从事游戏开发等工作,给自己一年时间,能在此期间精通 C++ 吗?
踏岸寻柳 2017-07-11
  • 打赏
  • 举报
回复
都是经典作品,大家翻看一遍估计就可以无师自通了
赵4老师 2016-11-03
  • 打赏
  • 举报
回复
http://edu.csdn.net/course/detail/2344 C语言指针与汇编内存地址-一.代码要素
Sasha711 2016-11-03
  • 打赏
  • 举报
回复
引用 9 楼 zhao4zhong1 的回复:
计算机组成原理→DOS命令→汇编语言→C语言(不包括C++)、代码书写规范→数据结构、编译原理、操作系统→计算机网络、数据库原理、正则表达式→其它语言(包括C++)、架构…… 对学习编程者的忠告: 多用小脑和手,少用大脑、眼睛和嘴,会更快地学会编程! 眼过千遍不如手过一遍! 书看千行不如手敲一行! 手敲千行不如单步一行! 单步源代码千行不如单步Debug版对应汇编一行! 单步Debug版对应汇编千行不如单步Release版对应汇编一行! 不会单步Release版对应汇编?在你想单步Release版C/C++代码片断的前面临时加一句DebugBreak();重建所有,然后在IDE中运行。(一般人我不告诉他!) VC调试时按Alt+8、Alt+7、Alt+6和Alt+5,打开汇编窗口、堆栈窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应堆栈、内存和寄存器变化,这样过一遍不就啥都明白了吗。 对VC来说,所谓‘调试时’就是编译连接通过以后,按F10或F11键单步执行一步以后的时候,或者在某行按F9设了断点后按F5执行停在该断点处的时候。
赵老师,我对调试这块完全不知道该怎么弄,单步源代码就如你上面所说,那么单步单步Debug版对应汇编一行和单步Release版对应汇编一行该如何?
赵4老师 2016-11-03
  • 打赏
  • 举报
回复
引用 14 楼 yshuise 的回复:
引用 11 楼 zhao4zhong1 的回复:
http://edu.csdn.net/course/detail/2344 C语言指针与汇编内存地址-一.代码要素
你最好用话筒录音,声音太小了。
当时麦克风音量没调到最大。
yshuise 2016-11-03
  • 打赏
  • 举报
回复
引用 11 楼 zhao4zhong1 的回复:
http://edu.csdn.net/course/detail/2344 C语言指针与汇编内存地址-一.代码要素
你最好用话筒录音,声音太小了。
yshuise 2016-11-03
  • 打赏
  • 举报
回复
ArthurJava 2016-11-03
  • 打赏
  • 举报
回复
等看完精通了,一切都晚了
赵4老师 2016-09-19
  • 打赏
  • 举报
回复
计算机组成原理→DOS命令→汇编语言→C语言(不包括C++)、代码书写规范→数据结构、编译原理、操作系统→计算机网络、数据库原理、正则表达式→其它语言(包括C++)、架构…… 对学习编程者的忠告: 多用小脑和手,少用大脑、眼睛和嘴,会更快地学会编程! 眼过千遍不如手过一遍! 书看千行不如手敲一行! 手敲千行不如单步一行! 单步源代码千行不如单步Debug版对应汇编一行! 单步Debug版对应汇编千行不如单步Release版对应汇编一行! 不会单步Release版对应汇编?在你想单步Release版C/C++代码片断的前面临时加一句DebugBreak();重建所有,然后在IDE中运行。(一般人我不告诉他!) VC调试时按Alt+8、Alt+7、Alt+6和Alt+5,打开汇编窗口、堆栈窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应堆栈、内存和寄存器变化,这样过一遍不就啥都明白了吗。 对VC来说,所谓‘调试时’就是编译连接通过以后,按F10或F11键单步执行一步以后的时候,或者在某行按F9设了断点后按F5执行停在该断点处的时候。
slmax1 2016-09-19
  • 打赏
  • 举报
回复
15年的贴子,顶顶...
wd_2014 2015-01-08
  • 打赏
  • 举报
回复
引用 4 楼 wd_2014 的回复:
[quote=引用 2 楼 wd_2014 的回复:] 不怎么会玩,好像有个链接可以添加哦。 百度网盘下载
这是有顺序的,初学者很有用的。[/quote] 是的,我只是给初学者一个学习方向建议,不是拿来炫自己的水平的。真心推荐而已。对于我自己的技术如何,不做解释。
iam_jimmy 2015-01-07
  • 打赏
  • 举报
回复
3楼说误人子弟,那有什么建议?
竹影半墙 2015-01-06
  • 打赏
  • 举报
回复
楼主练到底基层了
wd_2014 2015-01-06
  • 打赏
  • 举报
回复
引用 2 楼 wd_2014 的回复:
不怎么会玩,好像有个链接可以添加哦。 百度网盘下载
这是有顺序的,初学者很有用的。
勤奋的小游侠 2015-01-06
  • 打赏
  • 举报
回复
没看到有几本c++经典,这样的帖子怕是误人子弟吧
wd_2014 2015-01-06
  • 打赏
  • 举报
回复
不怎么会玩,好像有个链接可以添加哦。 百度网盘下载
wd_2014 2015-01-06
  • 打赏
  • 举报
回复
http://pan.baidu.com/s/1pJA038Z 这是PDF百度网盘的下载地址。版主可以搞个链接直接给大家下载哦。
当读者有一定c/c++基础 推荐的阅读顺序: level 1 从<>开始,短小精悍,可以对c++能进一步了解其特性 以<>作字典和课外读物,因为太厚不可能一口气看完 level 2 然后从<>开始转职,这是圣经,请遵守10诫,要经常看,没事就拿来翻翻 接着是<>,个人认为Herb Sutter主席大人的语言表达能力不及Scott Meyers总是在教育第一线的好 顺下来就是<>和<>,请熟读并牢记各条款 当你读到这里,应该会有一股升级的冲动了 level 3 <>看过后如一缕清风扫去一直以来你对语言的疑惑,你终于能明白compiler到底都背着你做了些什么了,这本书要细细回味,比较难啃,最好反复看几遍,加深印象 看完上一本之后,这本<>会重演一次当年C++他爹在设计整个语言过程中的历程 level 4 <>是stl的字典,要什么都可以查得到 学c++不能不学stl,那么首先是<>,它和圣经一样是你日常行为的规范 <>让你从oo向gp转变 光用不行,我们还有必要了解stl的工作原理,那么<>会解决你所有的困惑 level 5 对于c++无非是oo和gp,想进一步提升oo,<>是一本主席这么多年的经验之谈,是很长esp的 一位stl高手是不能不去了解template的,<>是一本百科全书,足够你看完后对于gp游刃有余 <>是太过聪明的人写给明眼人看的 好书有很多,不能一一列举 以上我的读书经历,供各位参考。接下来的无非就是打怪练级,多听多写多看;boost、stl、loki这些都是利器,斩妖除魔,奉劝各位别再土法练钢了。 at last,无他,唯手熟尔。 忘了一本《thinking in C++》 也是经典系列之一 <>这本圣经的作者Scott Meyesr在给<>序言的时候高度的赞赏了Andrei同志的工作:C++社群对template的理解即将经历一次巨大的变化,我对它所说的任何事情,也许很快就会被认为是陈旧的、肤浅的、甚至是完全错的。 就我所知,template的世界还在变化,速度之快就像我1995年回避写它的时候一样。从发展的速度来看,我可能永远不会写有关template的技术书籍。幸运的是一些人比我勇敢,Andrei就是这样一位先锋。我想你会从此书得到很多收获。我自己就得到了很多——Scott Meyers September2000。 并且,Scott Meyers 在最近的Top5系列文章中,评价C++历史里面最重要5本书中、把Modern C++ Design列入其中,另外四本是它自己的effective c++、以及C++ Programming Language、甚至包括《设计模式》和《C++标准文档》。 显然,Scott Meyers已经作为一个顶尖大师的角度承认了<>的价值。 并且调侃地说,可以把是否使用其中模板方法定义为,现代C++使用者和非现代C++使用者,并且检讨了自己在早期版本Effective对模板的忽视,最后重申在新版本Effective第七章节加入大量对模板程序设计的段落,作为对这次失误的补偿。 并且,在这里要明确的是<>并不是一本泛型编成的书,也不是一本模板手册。其中提出了基于策略的设计方法,有计划和目的的使用了模板、面向对象和设计模式。虽然Andrei本人对模板的研究世界无人能敌,但对其他领域的作为也令人赞叹。 任何做游戏的人都不能忽视OpenAL把,你在开发者的名单里能看到Loki的名字:) 最近很忙,无时间写文章,小奉献一下书籍下载地址。虽然经过验证,但是不感肯定各位一定能下: 中文 http://www.itepub.net/html/ebookcn/2006/0523/40146.html 英文 http://dl.njfiw.gov.cn/books/C/Essential%20C
本书作者根据自己学习C++的亲身体会及多年教学经验,用简单的例子和简练的叙述讲解C++编程,别具特色。 全书共分十八章,内容涉及对象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省参数、输入输出流介绍、常量、内联函数、命名控制、引用和拷贝构造函数、运算符重载、动态对象创建、继承和组合、多态和虚函数、模板和包容器类、多重继承、异常处理和运行时类型识别。 本书作为正式教材和自学用书均非常优秀,作为程序设计者的参考用书亦极为合适。 目 录 译者序 前言 第1章 对象的演化 1 1.1 基本概念 1 1.1.1 对象:特性+行为 1 1.1.2 继承:类型关系 1 1.1.3 多态性 2 1.1.4 操作概念:OOP程序像什么 3 1.2 为什么C++会成功 3 1.2.1 较好的C 3 1.2.2 采用渐进的学习方式 4 1.2.3 运行效率 4 1.2.4 系统更容易表达和理解 4 1.2.5 “库”使你事半功倍 4 1.2.6 错误处理 5 1.2.7 大程序设计 5 1.3 方法学介绍 5 1.3.1 复杂性 5 1.3.2 内部原则 6 1.3.3 外部原则 7 1.3.4 对象设计的五个阶段 9 1.3.5 方法承诺什么 10 1.3.6 方法应当提供什么 10 1.4 起草:最小的方法 12 1.4.1 前提 13 1.4.2 高概念 14 1.4.3 论述(treatment) 14 1.4.4 结构化 14 1.4.5 开发 16 1.4.6 重写 17 1.4.7 逻辑 17 1.5 其他方法 17 1.5.1 Booch 18 1.5.2 责任驱动的设计(RDD) 19 1.5.3 对象建模技术(OMT) 19 1.6 为向OOP转变而采取的策略 19 1.6.1 逐步进入OOP 19 1.6.2 管理障碍 20 1.7 小结 21 第2章 数据抽象 22 2.1 声明与定义 22 2.2 一个袖珍C库 23 2.3 放在一起:项目创建工具 29 2.4 什么是非正常 29 2.5 基本对象 30 2.6 什么是对象 34 2.7 抽象数据类型 35 2.8 对象细节 35 2.9 头文件形式 36 2.10 嵌套结构 37 2.11 小结 41 2.12 练习 41 第3章 隐藏实现 42 3.1 设置限制 42 3.2 C++的存取控制 42 3.3 友元 44 3.3.1 嵌套友元 45 3.3.2 它是纯的吗 48 3.4 对象布局 48 3.5 类 48 3.5.1 用存取控制来修改stash 50 3.5.2 用存取控制来修改stack 51 3.6 句柄类(handle classes) 51 3.6.1 可见的实现部分 51 3.6.2 减少重复编译 52 3.7 小结 54 3.8 练习 54 第4章 初始化与清除 55 4.1 用构造函数确保初始化 55 4.2 用析构函数确保清除 56 4.3 清除定义块 58 4.3.1 for循环 59 4.3.2 空间分配 60 4.4 含有构造函数和析构函数的stash 61 4.5 含有构造函数和析构函数的stack 63 4.6 集合初始化 65 4.7 缺省构造函数 67 4.8 小结 68 4.9 练习 68 第5章 函数重载与缺省参数 69 5.1 范围分解 69 5.1.1 用返回值重载 70 5.1.2 安全类型连接 70 5.2 重载的例子 71 5.3 缺省参数 74 5.4 小结 81 5.5 练习 82 第6章 输入输出流介绍 83 6.1 为什么要用输入输出流 83 6.2 解决输入输出流问题 86 6.2.1 预先了解操作符重载 86 6.2.2 插入符与提取符 87 6.2.3 通常用法 88 6.2.4 面向行的输入 90 6.3 文件输入输出流 91 6.4 输入输出流缓冲 93 6.5 在输入输出流中查找 94 6.6 strstreams 96 6.6.1 为用户分配的存储 96 6.6.2 自动存储分配 98 6.7 输出流格式化 100 6.7.1 内部格式化数据 101 6.7.2 例子 102 6.8 格式化操纵算子 106 6.9 建立操纵算子 108 6.10 输入输出流实例 111 6.10.1 代码生成 111 6.10.2 一个简单的数据记录 117 6.11 小结 123 6.12 练习 123 第7章 常量 124 7.1 值替代 124 7.1.1 头文件里的const 124 7.1.2 const的安全性 125 7.1.3 集合 126 7.1.4 与C语言的区别 126 7.2 指针 127 7.2.1 指向const的指针 127 7.2.2 const指针 127 7.2.3 赋值和类型检查 128 7.3 函数参数和返回值 128 7.3.1 传递const值 128 7.3.2 返回const值 129 7.3.3 传递和返回地址 131 7.4 类 133 7.4.1 类里的const和enum 133 7.4.2 编译期间类里的常量 134 7.4.3 const对象和成员函数 136 7.4.4 只读存储能力 139 7.5 可变的(volatile) 140 7.6 小结 141 7.7 练习 141 第8章 内联函数 142 8.1 预处理器的缺陷 142 8.2 内联函数 144 8.2.1 类内部的内联函数 145 8.2.2 存取函数 146 8.3 内联函数和编译器 150 8.3.1 局限性 150 8.3.2 赋值顺序 150 8.3.3 在构造函数和析构函数里隐藏行为 151 8.4 减少混乱 152 8.5 预处理器的特点 153 8.6 改进的错误检查 154 8.7 小结 155 8.8 练习 155 第9章 命名控制 157 9.1 来自C语言中的静态成员 157 9.1.1 函数内部的静态变量 157 9.1.2 控制连接 160 9.1.3 其他的存储类型指定符 161 9.2 名字空间 161 9.2.1 产生一个名字空间 162 9.2.2 使用名字空间 163 9.3 C++中的静态成员 166 9.3.1 定义静态数据成员的存储 166 9.3.2 嵌套类和局部类 168 9.3.3 静态成员函数 169 9.4 静态初始化的依赖因素 171 9.5 转换连接指定 174 9.6 小结 174 9.7 练习 174 第10章 引用和拷贝构造函数 176 10.1 C++中的指针 176 10.2 C++中的引用 176 10.2.1 函数中的引用 177 10.2.2 参数传递准则 178 10.3 拷贝构造函数 179 10.3.1 传值方式传递和返回 179 10.3.2 拷贝构造函数 182 10.3.3 缺省拷贝构造函数 187 10.3.4 拷贝构造函数方法的选择 188 10.4 指向成员的指针

64,639

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧