C++学习进阶指南

C++ 核心进阶 std::map默认使用运算符对键进行排序。您可以提供自定义的比较函数或函数对象来改变排序方式。C++});return 0;您可以为std::set提供自定义的比较函数或函数对象来定义元素的排序方式。您可以创建自己的异常类,通常通过继承自或其派生类来提供更具体的错误信息。模板元编程是一种在编译时使用模板生成代码的技术。 阅读详情

 

大一学C++时的教材是Deitel的C++ How to Program第四版,后来看了C++ primer和Effective C++,C++ 标准程序库和C++ 编程思想都买了但还没开始看。

下面是转载的在博客上看到的一个C++书籍阅读清单,可以参考下:
阶段 1
《Essential C++》
这是一本内容不多但很实用的C++入门书籍,强调快速上手与理解C++编程。本书主要围绕一系列逐渐复杂的程序问题,以及用以解决这些问题的语言特性展开讲解。你不只学到C++的函数和结构,也会学习到它们的设计目的和基本原理。
《C++ Primer》
本书对C++基本概念、技术、以及现代C++编程风格进行了全面而且权威的阐述,是C++初学者的最佳指南;本书可以帮助你编写实用的程序,而无需首先精通每个语言细节。对于中高级程序员,本书也是不可或缺的参考书。
阶段 2
《Effective C++》和《More effective C++》
作者是Scott Meyers。你应该熟读它们,并清楚地理解每个项目。该书围绕55条准则,每一条都介绍了一个可让你写出更好的C++程序代码的方法,并以特别设计过的例子详加讨论。
《Exceptional C++(C++编程剖析)》和《More exceptional C++》
这两本书中都包含了40个C++编程问题,这些问题会让你磨练自己的技能,最终成为优秀的C++程序员。这些问题是Herb Sutter精心挑选,与ISO/ANSI C++官方标准相一致,帮助程序员在设计、架构和编码过程中保持良好的风格,从而使编写的C++软件更健壮、更高效。
阶段 3
《Inside the C++ object model(深度探索C++对象模型)》
本书专注于C++面向对象程序设计的底层机制,包括结构式语意、临时性对象的生成、封装、继承,以及虚拟——虚拟函数和虚拟继承,帮助你理解程序的底层实现,以便写出更高效的代码。
《The design and evolution of C++(C++语言的设计与演化)》
本书作者也是C++语言的设计者Bjarne Stroustrup,作者在书中综合性地介绍了C++的发展历史,C++中各种重要机制的本质意义和设计背景,这些机制的基本用途和使用方法,讨论了C++所适合的应用领域及其未来的发展前景,既没有忽略关键性的详情,又没有过多地陷入技术细节。
阶段 4
《The C++ standard library(C++标准程序库)》
这是标准模板库字典,你可以在本书中找到STL相关的一切知识。本书焦点放在标准模板库、检查容器、迭代器、函数对象和STL算法上。每一个元素都有深刻的呈现,包括其介绍、设计、运用实例、细节解说、陷阱、意想不到的危险,以及相关类别和函数等。
《Effective STL》
这是Scott Meyers的第三本C++专著,也是学习STL最权威的书籍。作者对书中的50个指导方针都作了详尽的分析,并配以示例。通过这些规则,C++开发者可以最大限度地使用STL。
《Generic programming and the STL(泛型编程与STL)》
本书阐述了泛型程序设计的核心理念:concepts(概念)、modeling(模型)和refinement(改善),并为你展示这些观念如何导出STL的基础概念:iterators(迭代器)、containers(容器)和function objects(函数对象)。按照本书所述,你可以把STL想象成一个由concepts组成的library,你将学习到STL正式结构并理解其强大的优势。
阶段 5
《Exceptional C++ style》
作者为Herb Sutter。本书同样提出了40个C++风格相关的问题,对一些至关重要的C++细节和相互关系提出了新的见解,为当今的关键C++编程技术(如泛型编程、STL、异常安全等)提供了新的策略,帮助开发者在开销与功能之间、优雅与可维护性之间、灵活性与过分灵活之间寻找完美的平衡点。
《C++ template》
这是一本关于C++模板的完整的参考手册和教程,它强调模板的使用实践,包含了现实世界中的例子。每个C++程序员都应该好好读一读这本书。
《Modern C++ design(现代C++设计)》
作者Andrei Alexandrescu为C++程序员打开了一个新的局面。本书提供了一些针对软件设计的前沿方法,如联合设计模式、泛型编程,使程序员可以编写有表现力的、灵活的、高度可重用的代码。
《Thinking in C++(C++编程思想)》
C++ 领域权威著作,介绍了C++实用的编程技术和最佳的实践方法。

发布于 2012-08-09

 

文章来源:知乎 https://www.zhihu.com/question/20410487/answer/15055637

C++从入门到进阶的系列书籍推荐(22本书) 要多读书,读好书!一本书要多读几遍才好,每次都可能有新的收获!特别在是有一定的工作年限和工作经验之后!读书百遍,其义自见! 下面就给大家推荐一下C++程序员进阶需要读的经典书籍: 1、C++入门书籍 C++是在C语言的基础上发展而来的,要学习C++之前需要先学习C语言。有了C语言基础之后再去学习C++。 1.1、C语言程序设计(谭浩强) 该书被公认为学习C语言程序设计的优秀教材,被全国大多数高校选用,是学习C语言的主流用书。本书比较通俗易懂,是初入者必备的书籍。 ........ 阅读详情

相关推荐

c/c++进阶必备书籍

总共4本进阶书籍: 《C Traps and Pitfalls》经典书籍,学会避开常见陷阱 《C语言高级程序员编程指南》 详细描述,众多实例 《嵌入式系统高级C语言编程》底层的苛刻条件更能训练能力 《VC++之MFC类库中文手册》MFC图形化编程

突破C++瓶颈,在此一举!

课程介绍 C++ 不仅能兼容 C 语言,并且还继承了 C 语言的运行速度,因此在许多大型项目中都可以看到 C++ 的身影。封装、继承、多态、模板作为 C++ 的重要特性。掌握封装、继承、多态、模板对提高开发效率有着很明显的提升。 本课程容纳了很多知识点和实验操作,学习本课程的关键因素在于动手去做,多做实验并要做相关的记录,这都将是以后开发中的宝贵经验。 本课程共 21 个实验章节,主要针对封装、继承、多态、模板这 4 个特性作为基础进行讲解实验,并且围绕这 4 个特性讲解了很多与之相关的其他知识点。 课程难

实验楼--动手做实验,轻松学IT! 800

FTPClient使用中,碰到SocketTimeoutException 坑

ftpclient设置soTimeout无效

u010379794的博客 1953

该死!GitHub上这些C++项目真香

在知乎上看到了个问题,说,在用github搜学习资料时,总是一些很大型且成熟的项目,根本看不懂。 做为工作近十年的经验老鸟,github上的资源非常丰富,通过github学习一定要循序渐进。 其实,不光有大型项目,还有很多学习型资源。 这里帮大家就C++方向罗列出了一些热度很高的从入门到小实战项目再到大型项目,供大家学习吧。 学习篇: 一、一个项目入门C++足以:CPlusPlusThings CPlusPlusThings 是国人开源一个 C++ 学习项目。它系统地将

启舰 5万+

储能系统架构和控制

探讨了储能系统中EMS(能源管理系统)、BMS(电池管理系统)和PCS(功率转换系统)之间的协同机制,以及组串式和集中式储能系统的技术架构、优势和局限性。EMS根据电价、电网需求和电池状态制定充放电策略,BMS提供电池数据,PCS执行充放电控制。组串式系统具有独立管理和灵活扩展的优势,但成本较高;集中式系统成本效益高,但存在环流和木桶效应问题。

蓝龙宝藏的博客 3969

大型我的世界RPG服务器开服全攻略:从环境配置到插件部署

搭建一个能支撑百人稳定在线的我的世界服务器,远不止选择服务端和安装插件那么简单。服务器架设涉及硬件选型、Java环境、端口放行、启动脚本与systemd守护等基础环节,而大型RPG玩法还依赖MythicMobs、Quests、LuckPerms等插件协同工作。理解这些技术组件的原理与配置逻辑,是确保长线运营的关键。对于希望打造原创剧情、职业副本和自定义Boss的团队而言,合理规划MySQL数据库、RCON批量管理及性能调优,能显著降低后期维护成本。本文围绕RPG服务器核心能力,从环境准备到插件部署,再到常见

weixin_27230891的博客 370

经验分享:适合 C++ 学习的开源项目(基础到进阶实战)

俗话说:万事开头难,学习编程也是一样。

致力于C语言C++知识分享! 3840

C++动态规划详解

动态规划思想 一、动态规划概念: 动态规划(dp)是研究多步决策过程最优化问题的一种数学方法。在动态规划中,为了寻找一个问题的最优解(即最优决策过程),将整个问题划分成若干个相应的阶段,并在每个阶段都根据先前所作出的决策作出当前阶段最优决策,进而得出整个问题的最优解。即记住已知问题的答案,在已知的答案的基础上解决未知的问题。 在这类问题中,可能会有许多可行解。每一个解都对应于一个值,我们希望找到具有最优值的解。动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后

weixin_51951103的博客 2万+

项目实战总结:C++学习路径与进阶指南

项目实战总结:C++学习路径与进阶指南 本文基于C++ Primer实践项目,系统总结了C++知识体系的完整脉络和各章节知识点间的有机连接。从基础语法、函数与模块化编程,到面向对象特性、标准库与泛型编程,再到模板元编程和高级主题,文章提供了循序渐进的学习路径指南。同时针对常见编程问题提供了解决方案,并给出了性能优化与代码规范的专业建议,最后规划了后续学习资源与进阶方向,为C++开发者提供全面的学习...

gitblog_00014的博客 510

智能车视觉算法实战:十字路口与弯道拐点的精准识别

本文深入探讨了智能车视觉导航中十字路口与弯道拐点的精准识别算法。通过实战经验,详细解析了如何利用纵向巡线法生成边界数组,并从中高效提取“上拐点”与“下拐点”的关键特征。文章重点分享了提升算法鲁棒性的核心技巧,包括图像预处理、ROI设置、状态机应用及多特征融合,旨在帮助开发者实现智能车在复杂路况下从“看见”到“看懂”的稳定决策。

weixin_29061465的博客 633

Android 12,通过JNI写framebuff实现白板书写加速

Android 书写加速

448313096@qq.com 1204

C/C++算法竞赛学习书籍

链接: https://pan.baidu.com/s/1z_X2b6_oCC_LpEirQ-E93w 提取码: suh2。链接: https://pan.baidu.com/s/1t23wLIl60myy6sN9_gdcCQ 提取码: mjv5。链接: https://pan.baidu.com/s/1Fx_TpEfivoVkGM1VuDErmQ 提取码: tj5y。链接: https://pan.baidu.com/s/1G-yAHMZULkcco7yj2t9p_Q 提取码: qd17。

zaiyang遇见 1415

labelImg使用教程

Anaconda环境 安装 Anaconda 之后,在开始菜单下找到 Anaconda 文件夹 找到 Anaconda Prompt 点击运行 安装 labelImg pip install labelImg #直接命令行输入 启动 labelImg labelImg #直接命令行输入名称即可 labelImg界面 开始标注 快捷键:W(创建方框),A(上一张),D(下一张) XML文件示例 <annotation> <folder>夜读</folder>

G果的博客 3万+

GitHub上这些C++项目真香

C++ 学习 项目

winniwu的博客 7606

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

C++ 快速学习指南:从入门到进阶的实战路线

学习 C++ 是一场马拉松,而不是百米冲刺。快速入门是可能的,但成为专家需要时间和大量实践。保持耐心,享受解决问题和创造带来的乐趣。

2601_95865500的博客 233

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

适合 C++ 学习的开源项目——在 GitHub 学编程

俗话说:万事开头难,学习编程也是一样。在 HelloGitHub 的群里,经常遇到有小伙伴询问编程语言如何入门方面的问题,如: 我要学习某一门编程语言,有什么开源项目可以推荐吗? 我是某编程语言的新手,有什么练手的项目推荐吗? 等等 See,这就是本系列文章的由来,我们希望学习各类编程语言的同学们,读(Mark)完我们的入门系列,可以找到学习的方向、系统的学习某一门语言,然后做个简单的小玩意,不只是Hello World。 《GitHub 上适合编程入门的项目》系列,共计 5 篇文章: C++..

javalingyu的博客 6096

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

《C++ 学习指南:从新手到高手的进阶之路》

C++ 作为一门强大且应用广泛的编程语言,在系统开发、游戏制作、金融计算等众多领域占据重要地位。对于渴望掌握 C++ 的初学者而言,明晰学习路径、获取优质学习资源是关键。以下为大家详细规划 C++ 学习流程,并推荐实用学习资源。

hxsyyds49的博客 1575

C++从入门到进阶学习指南

C++学习是一个循序渐进的过程。从基础语法到高级特性,持续练习是关键。通过本文的代码示例和概念讲解,希望你能逐步提升技能。记住,多写代码、多调试是成为C++高手的必经之路!

2402_84440655的博客 446

学习C++的网站资源

cppreference 即 C++ 参考手册,因为它非常简洁,可读性也很强,不但更新及时(已经到 C++20 了),还提供了很好的示例。

向着光的那方 1311

C++ 进阶学习完整指南

这是一套的系统路线,覆盖,学完可直接胜任中高级 C++ 开发岗位。我会用的方式讲解,不堆砌晦涩概念。

2501_94498451的博客 238

C++编程指南 - 基于puge-up/programming-cpp 开源项目

C++编程指南 - 基于puge-up/programming-cpp 开源项目 项目介绍 本教程旨在详细介绍GitHub上的开源项目 puge-up/programming-cpp,该项目专注于提供C++编程的学习资源与实例。它为初学者和进阶开发者设计,涵盖了从基础知识到高级特性的全面指南,帮助开发者理解和掌握C++这一强大而灵活的编程语言。通过这个项目,学习者可以系统地了解C++编程的各个方面...

gitblog_00151的博客 922

C++学习先导课:从基础到进阶的全面指南

通过。

weixin_72359141的博客 737

C++游戏编程 | 从基础到进阶的全面学习指南

优化是编译中的另一个重要环节,通过对生成的代码进行优化,减少不必要的计算、内存访问和输入输出操作,从而提高程序的执行效率。虽然许多游戏开发者可能使用现成的游戏引擎,如Unity或Unreal Engine,但了解如何开发自己的游戏引擎将使你更加深入地理解游戏开发的核心原理。最后,作为一名C++游戏编程的学习者,持续的项目实践和代码优化也是非常重要的。在编译程序的设计中,词法分析和语法分析是基础,它们将源代码中的字符和语法规则转换成计算机能够理解的数据结构,如词法单元(Token)和抽象语法树(AST)。

yeldgr_783的博客 337

C++学习路径全解析:从语法基础到架构实战的进阶指南

C++作为一门兼具底层控制与高级抽象的编程语言,其核心价值在于提供接近硬件的性能优化能力和复杂系统的构建支持。理解C++的内存管理机制、面向对象设计原则和模板元编程原理,是掌握其技术精髓的关键。在工程实践中,这些概念直接关联到高性能计算、游戏引擎、工业软件等对执行效率有严苛要求的应用场景。例如,通过智能指针实现RAII(资源获取即初始化)可以有效管理内存生命周期,而深入掌握std::map与std::unordered_map的底层实现差异,则能帮助开发者在多线程环境下做出更优的容器选择。本文聚焦于构建系统

weixin_33585822的博客 281
上一篇: 2019网易校招笔试题--优秀01序列
下一篇: C++11
Poo_Chai
博客等级 码龄9年 178粉丝 117原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值