C++书单[转贴][转自饮水思源]

C++经典入门书籍推荐(10本) 它采用直观的图像和有趣的外观,以及对有趣的情景进行深入讲解来帮助打破C++编程中常见的恐惧和障碍。这本书是针对有一定C++基础的开发者的。它从C++语言的基础知识开始讲述,涵盖了变量、循环、数组、指针、函数等基本内容,并且通过许多例子和代码片段来设法让这个学习过程变得有趣和实用。它涵盖了C++11和C++14标准的多线程库,介绍了如何使用future、async和promise来创建可靠、高效的多线程程序。这本书专门设计给拥有编程背景的读者使用的,它在讲述C++的过程中不回避C++语言的细节问题。 阅读详情
发信人: gaobo(狄立赫列), 信区: C
标  题: C++书单
发信站: 饮水思源 (2003年12月01日09:01:35 星期一)

第一篇

一些同学问我,如何学好C++,我没有别的办法给你们,唯一的办法就是读书,读大
量的书,就可以解决。要把C++作为日常语言,而不是一种程序语言,这样就好办了。

有人又要问我,那么我应该读什么书才好?没有时间怎么办?

我只能对你们说,没时间的话,就别学C++了,做你们喜欢做的事。生活中没有
C++,也同样美好。

如果你准备学,一定要学好,那么我开个书单,应该问题不是甚大。

首先肯定要读一读Bjarne Stroustrup的The Design and Evolution of C++,了解
一下这个语言的历史。接下来就可以看别的书了,但要不停地回头看这本书,看到
你不断地学到的新技术是怎么样一点点地被接纳到这个语言中去的。

第一本书因人而异,基础好一些的,可以看Stanley B. Lippman的C++ Primer,这
本书非常地巨大,你打星号的部分可以不要看。基础不太好的,可以看Stanley B.
Lippman的Essential C++,这本书份量要轻得多,不过四个C++的范型都讲了,而
且讲得非常清楚。

第二本应该停止技术层面的东西,静下心来看看Pike和Kernighan的The Practice
of Programming,好好地整理一下,在程序设计中应该有哪些注意的事项。这本
非常薄的booklet,可以说是程序员必读的指南。

第三本书,就应该是Bruce Eckel写的、候捷译的Thinking in C++,这本书每过
半年我就要重读一遍。可以说每一章都是写得发人深省的,这本书让我感觉到了
技术运用的非常高的境界,但是语言非常平实,只要认真地读,即使基础不行,
也一定可以懂。我在教课的时候,就是用这本书(面对的学生是零基础)。

要更上一层的话,就要慢一步,先要把握C++设计习惯的良好。这是Scott
Meyers的Effective C++和More Effective C++带给我们的无尽收益。我More
Effective C++买不起,只好花了10块钱复印装订了一本"线装本",看起来像葵花
宝典(;-))。这两本书是真正的经典,作者对C++的纯熟,使得语言的风格读起来
简直是如饴甘甜,就像他站在对面在讲课。我手中有这两本书的原版CD,如果有兴
趣,可以发E-mail到sjtu@263.net或在饮水思源投条儿给gaobo索要,只要您提供
光盘我就给免费烧。如果你已经深刻地理解了Effective C++和More Effective
C++,那你可以发现,你在众人中已经是鸡群之鹤。可以指导项目运作了,可以编
写一切你想做的程序了,可以指出别人看起来不错的代码的大小问题了。如果你能
一眼看出有人的代码是对应于"条款27"或"条款M6",那你可真是让本人刮目了。

我已经讲了,如果要写程序,EC++和MEC++的境界已经足以使你自如应付,可是如
果你还不满足,想关注一些理论层面的问题,或是想看看实现的代码,你就不应该
错过这几本好极了的书。我是说Herb Sutter的Exceptional C++和More
Exceptional C++,这两本书的难度是非常大的,我对每一条的阅读笔记都是十多
页。特别是泛型程序设计的部分,这两本书旁征博引,极尽深入探讨之能事,每每
看懂一条,都抹汗一次,大感酣畅淋漓;还有侯捷的 STL源码剖析 ,以实际的
例子一点点地讲解一个STL是怎么样实现的,我是刚开始读,不发表评论;而
Stanley B. Lippman,Cfront的实现者之一,执笔写出Inside the C++ Object
Model,我只有一个字,就是基本帅呆了。我从中了解了无数的编译器解释源代码
的细节,以及记忆体分配的细节,呵呵,这些都知道了,我还怕什么呢?最近得到
了另一Cfront实现者、C++标准委员会Koenig的 C++沉思录,看起来非常不错,这
里也推荐给大家,但我也没看完,亦无发言权。

最后最后,你们,未来的C++理论家们,可要记住,Bjarne Stroustrup的The C++
Programming Language无论如何也应该读个四五遍!这是一切C++的书本的源泉。
如果还觉得不够,就向C++标准委员会订购一本C++标准。

一切中国大陆作者的书,一概不要看(包括我的)。一切VC++或讲特定的编译器的
书,一概不要看。如果需要补C语言的课,买一本非常小的K&R的The C
Programming Language足矣,其它的书一概不要看。不要先学C,再学C++,而要直
接学C++。你不是先学古文,再学白话的,对不对?所以相信我,直接来更容易。

以上文字,皆为原创,本人愿意为每个字负责。

第二篇

好久未来C板了,原因这段时间一直在研究两本书,看得自己不敢多说一句话。

1、《Effective STL》
订购: http://www.cnforyou.com/query/bookdetail.asp?viBookCode=8537
作者:Scott Meyers
出版社:中国电力出版社
  一开始欺负这本书比较薄,想快点看完,但不久就发现自己已经翻不动了。直
到看完最后一个字,才发现一个基本的事实:薄的不是这本书,而是自己的见识。
  有关STL的书也读了不少,正如读《Effective C++》以前,有关C++的书也读了
不少。Meyers的书总是给人一种脱胎换骨的提升感觉,他总能在大家以为老生常谈
的地方挖出意想不到的新意,并指出一些一般人习以为常的东西其实存在种种危机,
或是在一些看来完全等价的选择中,为特定的场合选择最有效的(Most
Effective)那一种。而且他的切入口总是让人看得懂的(不像Stroustrup的书,
第一句话就要琢磨半天),但是他总是会选择几个拓展点,并把它们分析得淋漓尽
致,这时候就需要一段代码一段代码甚至是语句粒度地阅读了——当然,最后总是
看得懂,这和读者的阅读程度总是正比,这会给人极大的成就感。可以说,在STL
实践的书籍,无书可出其右(当然在STL实作方面,我还是要向大家推荐侯捷的
《STL源码剖析》)。
  读完这本书后,和Pascal就产生明显的距离感了。这里我仍然要说:请热爱
Delphi!我还是更愿意写“var s:set of char;”而不是
“set <char*, less<char*>, allocator<char*> > s”,;-)。

2、《Modern C++ Design》
订购(中文): http://www.cnforyou.com/query/bookdetail.asp?viBookCode=8184
订购(影印): http://www.cnforyou.com/query/bookdetail.asp?viBookCode=8319
作者:Andrei Alexandrescu
译者:侯捷、於春景
出版社:华中科技大学出版社(中文)
    中国电力出版社(影印)
  读完这本书的第一页,我就知道自己放不下它了,但我也知道,我的苦难经历
又要多上一笔了。用C++实作设计模式,已经是骨灰级的难度,但这本书明显还在讲
一个template的对象模型的问题,这在我读《Inside the C++ Object Model》时是
屡攻不下的难点。不过,出乎意料的是这本书居然使我具有一些概念了,而且动手写
出了一个SmartPointer。
  这本书我还远不能说我读懂了,但是确乎是读完了。如果你还没有读过对象模型
和设计模式的书,我认为需要读一读。否则,直接看这本书根本就是受罪。最近,有
一些朋友也注意到设计模式的重要性了,可能从明年起我在《电脑报》上要发表一些
文章,届时请朋友们指教吧。

另外就是Effective C++点评继续写,我现在觉得更惶恐,但是信心也更足了。
--
LDRA Testbed软件静态分析_常见问题及处理 通过前面的几篇文章,LDRA Testbed软件静态分析的内容基本讲解完了,本篇文章将针对使用Testbed进行软件静态分析的常见问题进行介绍。 到此为止,LDRA Testbed软件静态分析的内容已经全部讲完,如果有问题,欢迎私信提问(不经常登录,回复可能不及时,见谅)。下一篇文章将开始讲解如何使用Testbed进行单元测试。 阅读详情

相关推荐

智能车竞赛疯狂电路组:Altium Designer赛道设计与计分策略全解析

本文全面解析智能车竞赛疯狂电路组中,如何利用Altium Designer进行专业赛道设计。从软件基础操作、图层管理与封装库调用,到赛道拓扑绘制、核心尺寸规范,详细拆解设计全流程。文章深入结合计分策略,指导如何在设计阶段植入策略点,优化路径与元器件布局,以在比赛中获得时间优势,并提供了从图纸输出到实地测试的完整避坑指南。

beta5的博客 585

c++读书之路[zz]

>[提示] gaobo        Dec  1  ◆ C++书单[      ★★ 欢迎光临 ★★     ][3520人/  1友][POMFXc]帐号[blueoxygen]  [  0:48]发信人: gaobo (狄立赫列), 信区: C标  题: C++书单发信站: 饮水思源 (2003年12月01日09:01:35 星期一)第一篇一些同学问我,如何学好C++,我没有别的办法

2018

智能车竞赛新手必看:单车定向组直线竞速与八字慢速实战技巧

本文为智能车竞赛新手提供单车定向组直线竞速与八字慢速的实战技巧,涵盖赛道分析、动力调校、传感器配置等关键环节。通过真实案例和代码示例,详细讲解如何平衡速度与稳定性,帮助选手避免常见失误,提升比赛成绩。特别针对智能车竞赛中的直线竞速和八字慢速项目,提供从硬件选型到临场策略的全方位指导。

weixin_28718793的博客 434

c++ 设计模式推荐书籍

自在学设计模式,但是有些书籍看着你会有很多疑问,而且很设计模式的书籍都是java和c#写的,你可能不是很熟悉代码风格。并且设计模式有不同的实现方法,书籍中的方法不一定是最后好的,因此同一种设计模式最后多看几本不同的书籍,下面罗列网友推荐的几本书籍,部分书籍我自己也在看。 1、《Head First设计模式》 2、《大话设计模式》 ——是.NET中的c#写的 3、《设计模式之禅》 4、《重构与模式》 5、《设计模式精解-GoF 23 种设计模式解析附 C++实现源码》——作者武汉大学:K_Ecke.

lxj362343的博客 6980

Windows 11登录界面密码框消失Bug解析与解决方案

Windows操作系统登录认证机制是系统安全的第一道防线,其图形界面由桌面窗口管理器(DWM)负责渲染。当UI元素渲染异常时,会导致密码输入框等关键组件不可见。这类图形子系统故障通常源于驱动兼容性或主题服务冲突,在Windows 11最新累积更新后尤为常见。通过系统文件检查(sfc)、注册表修复或创建新用户等工程实践方法可有效解决问题。对于企业IT环境,建议采用PIN码或生物识别等替代认证方案,同时定期执行磁盘清理和系统健康检查等Windows维护操作,确保认证服务稳定运行。

weixin_33806859的博客 611

UserWarning: CUDA initialization: Unexpected error from cudaGetDeviceCount()【已解决】

UserWarning: CUDA initialization: Unexpected error from cudaGetDeviceCount()【已解决】

围炉夜敲的博客 1万+

C++书籍推荐(持续更新...)

C++从入门到放弃,到大师,到入土的书籍推荐

A_cainiao_A 5634

19、硬件工程师笔试面试——无线通讯模块(2025版本)

例如,如果你的项目需要传输大量数据,如视频流或大数据文件,那么你可能需要一个高速率的模块,如支持802.11ac或802.11ax(WiFi 6)的模块。如果你的数据传输需求较小,如传感器数据,那么一个较低速率的模块,如蓝牙或Zigbee,可能就足够了。较高的频率(如5GHz)提供更大的带宽,支持更高的数据传输速率,但信号覆盖范围较小,穿透能力较弱。例如,在蓝牙通信中,一台设备作为主机,另一台设备作为从机,它们通过频率跳频的方式确定连接,并在连接建立后通过特定的协议进行数据交换。

XU157303764的博客 3226

C++沉思录学习笔记

C++ 沉思录部分笔记

苹果好吃呀的博客 1032

ExpressLRS(ELRS)接收机技术全景:从历史演进、技术底层到产业生态全解析——上

ExpressLRS(ELRS)是一种由全球开源社区驱动的双向射频遥控链路协议栈,其接收机作为核心终端,承担信号接收解调、遥控指令解析、飞控数据交互与遥测回传等关键功能。自2018年问世以来,ELRS凭借极致性能、低成本、开放生态和强兼容性,从航模DIY方案发展为消费级无人机领域的事实标准,并逐步渗透工业级场景。 ELRS接收机采用模块化分层架构,支持2.4GHz和900MHz双频段,通过LoRa、FLRC、FSK多调制模式实现低延迟与远距离平衡。其核心技术包括自适应跳频抗干扰、TDD双向链路和极简数据包。

bother3000的博客 303

OpenCASCADE完整教程专栏完整目录

OpenCASCADE完整教程专栏完整目录

希望我的博客,能帮上你解决学习中工作中所遇到的问题 9702

【C++】C++书单

以下内容转载自饮水思源BBS 为 gaobo 所发 C++书单 一些同学问我,如何学好C++,我没有别的办法给你们,唯一的办法就是读书,读大量的书,就可以解决。要把C++作为日常语言,而不是一种程序语言,这样就好办了。 有人又要问我,那么我应该读什么书才好?没有时间

1407

大模型LangChain面试题及参考答案(上)

明确的输入输出类型:函数参数需包含类型注解,返回值需定义清晰的数据结构(如JSON格式),便于LLM理解参数含义和调用方式。工具描述:通过文档字符串或独立的描述对象(如Tool类)说明函数的功能、参数用途及调用场景,供LLM判断是否需要调用。示例:定义一个计算两个数之和的工具函数@tool"""计算两个整数的和。参数:- a:第一个整数- b:第二个整数调用场景:当用户需要进行数值加法计算时使用。"""除了内置的。

大模型大数据攻城狮的专栏 1139

C++书单

Bjarne Stroustrup的The Design and Evolution of C++Stanley B. Lippman的Essential C++Stanley B. Lippman的C++ PrimerPike和Kernighan的The Practice of ProgrammingBruce Eckel写的、候捷译的Thinking in C++Scott Meyers的Ef

wowo 1117

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

【转载】C++书单

转载自http://publishblog.blogchina.com/blog/tb.b?diaryID=3266076 一些同学问我,如何学好C++,我没有别的办法给你们,唯一的办法就是读书,读大  量的书,就可以解决。要把C++作为日常语言,而不是一种程序语言,这样就好办了。     有人又要问我,那么我应该读什么书才好?没有时间怎么办?  

张灵晶的技术专栏 922

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

C++书单(转)

C++书单(转)Bjarne Stroustrup的The Design and Evolution of C++Stanley B. Lippman的Essential C++Stanley B. Lippman的C++ PrimerPike和Kernighan的The Practice of ProgrammingBruce Eckel写的、候捷译的Thinking in C++Scott

900

WINCC7.3破解文件

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

深入学习c++书单

本来有一本c++程序设计,一本c++primer(没怎么看过),经过师兄推荐又买了effective c++ 和more effective c++ (技术面试的时候会问的比较深 ,要研究的比较透彻一些) 第一篇 一些同学问我,如何学好C++,我没有别的办法给你们,唯一的办法就是读书,读大 量的书,就可以解决。要把C++作为日常语言,而不是一种程序语言,这样就好办了。 有人又要问我

zhanghaotian2011的专栏 5092

C++书单(转载)

一些同学问我,如何学好C++,我没有别的办法给你们,唯一的办法就是读书,读大   量的书,就可以解决。要把C++作为日常语言,而不是一种程序语言,这样就好办了。      有人又要问我,那么我应该读什么书才好?没有时间怎么办?      我只能对你们说,没时间的话,就别学C++了,做你们喜欢做的事。生活中没有   C++,也同样美好。      如果你准备学,一定要学好,那么我开个

lsy5631932的专栏 613

转 C ++书单

第一篇一些同学问我,如何学好C++,我没有别的办法给你们,唯一的办法就是读书,读大量的书,就可以解决。要把C++作为日常语言,而不是一种程序语言,这样就好办了。有人又要问我,那么我应该读什么书才好?没有时间怎么办?我只能对你们说,没时间的话,就别学C++了,做你们喜欢做的事。生活中没有C++,也同样美好。如果你准备学,一定要学好,那么我开个书单,应该问题不是甚大。首先肯定要读...

weixin_33777877的博客 86

一个高手对C++著作的评价

第一篇一些同学问我,如何学好C++,我没有别的办法给你们,唯一的办法就是读书,读大量的书,就可以解决。要把C++作为日常语言,而不是一种程序语言,这样就好办了。有人又要问我,那么我应该读什么书才好?没有时间怎么办?我只能对你们说,没时间的话,就别学C++了,做你们喜欢做的事。生活中没有C++,也同样美好。如果你准备学,一定要学好,那么我开个书单,应该问题不是甚大。

iinel的专栏 1964

转载:C++书单,C++好书推荐

发信人: gaobo(狄立赫列), 信区: C标 题: C++书单发信站: 饮水思源 (2003年12月01日09:01:35 星期一)第一篇一些同学问我,如何学好C++,我没有别的办法给你们,唯一的办法就是读书,读大量的书,就可以解决。要把C++作为日常语言,而不是一种程序语言,这样就好办了。有人又要问我,那么我应该读什么书才好?没有时间怎么办?我只能对你们说,没时间的话,就别学C++了,做你...

weixin_33912445的博客 166
上一篇: 我个人的这几年读书经历[转贴]
下一篇: VS2005中远程调试的配置方法
DarkBasic
博客等级 码龄23年 3粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值