认为C/C++很难理解、找工作面试笔试,快看看这本书!
假设你是C/C++谁刚开始学习,看这本书。因为也许你读其他的书还不如不看。一定要选择一本好书。
假设你正在准备工作,请认真看这本书,由于这本书会教会你工作中必备的知识,相信你即将面临的语法类题目不会超出此书的范围。
假设你已经工作了一到三年,那么是时候提高自己的技术水平了,从第一章看起,这本书给解释工作中遇到的疑惑;
假设你已经工作了三年以上,而且准备以软件开发为自己的职业,我没什么要多说的。自己看看就明确了。
关于本书
2014年的时候。我有机会跟在校的计算机本科生接触。发现他们还在使用那本源自上个世纪的教材。中国的IT业正蓬勃发展,而为产业输送人才却还用这本古老的教材,这样的这是件非常痛心的事情。当那些同学因看不懂发愁的时候。我仅仅能说即使有能力考上清华的学生,也不一定能看懂这本书吧。
让业内人士评价这本书。它至少带来了下面问题:① 打消了学习者的兴趣。由于太看起来难了,从而使一部分原本适合于本行业的离开了本行业② 减少了毕业生的编程能力,使得公司在接手新毕业生时非常头疼。
C/C++非但不难。并且简直说是非常有趣。但它的有趣与否。取决于是否有一本好书指引。
一本坏书,不知所云,让你事倍功半;一本好书。循循善诱,则让你事半功倍。让年轻的学生免于痛苦、少走弯路,让C/C++的编程真正的回归有趣。是本书的创作意图。
尽管最初的想法起于2008年,但正如大多数业内人士一样。我也是没有时间和意志来完毕这本书的。
直到2014年,我才下定了决心:是做这件事的时候了。
我难以挑战既有的垄断。可是。仅仅要有一部分人能看到我的书、从我的书中收益,我也就满足了。
先说说标题。一方面。为什么它是“C/C++学习指南”而不是“C++编程指南”呢?业内人士都知道。C++语言是C语言的扩展,在语法上兼容(涵盖)C语言的。
可是考虑到部分读者可能是刚開始学习的人。未必懂得C和C++之间的关系。所以就在标题中显式的表明这本书“既适合C的学习者、也适合C++的学习者”。在详细的章节安排上也考虑了这一点,对于仅仅须要C的读者,仅仅须要学习前18章(第14章除外)、并结合附录“C++与C语言的差别”。
还有一方面,为什么它叫“学习指南”,而不是“编程指南”呢?这是由于这一本语法教程,重点是解说语法。而编程则是一个更大的概念。不但要懂语法,还要懂实际操作和专项知识(多线程、相互排斥、网络通讯、图形界面等等)。但为了让学习者具有一定的project能力,本书专门配套的VC的基本使用、调试方法,标准C函数的使用方法。标准模板库(STL)的使用方法。
然后再说说正文部分。
正文共27章。覆盖了C++的全部语法点。它们的顺序是被精心安排的。按顺序学习,才是本书的最有效的学习方法。当中,有些章节被标记为星号。这意味着几点:①在第一轮学习时,此章节应该跳过;一般不能够过分深入这些章节,否则会影响学习的连贯性② 跳过此节,不影响兴许章节的学习③ 有些概念在C++里属于生僻语法,一般都会用到、或者不建议使用,这些都有专门的提示。
本书的一个核心特点是使用内存视图来解释问题。变量相应于内存,内存具有地址。读者应该理解这一点,也不必要深刻理解这一点。
仅仅要理解了这一点,C++的众多看起来比較难的概念也就被水到渠成的击破。比方,指针的问题,动态分配内存的问题,传指与传引用的问题,假设从内存视图来理解。应该变得很easy了。
本书的还有一个核心特点是对编程误区的规避。有些东西是非常好理解的,但是因为被不对的指引,使得大家对它的理解都稀里糊涂。比方。char明明是表示整数,但是大多数教材都叫它字符。
比方,明白指示“指针”和int型本质上一样。表示的地址。
又比方,传值和传引用的问题,是C++编程的一个核心问题,在本书中就做了清晰的诠释。
本书的再一个核心特点是project性强。
和大多数教材不一样。本书不唯独语法。还有实际操作,使得读者具有最主要的project能力。仅有语法是做了事情的,所以本书还配备了对标准C函数数、STL标准模板库的解说和示范。以及对于project师极为重要的技术:调试技术。
而对于唯独在进入企业才干接触的“编程规范”,作者也希望在学编程的一開始就告诉读者,以便为企业的培训部门分担一部分压力。读者学完本书。就能够非常easy地对接到实际工作中,不会再像曾经的毕业生那样对实际工作一脸茫然了。
最后再说说附录。有人觉得附录存的是“花绪”,是些不重要的内容。
这么理解是严重错误的。附录的存在。是由于有些知识不适合放在主线上讲述,也就是没法像正文那样像流水一样按顺序来讲。
附录之所以成为附录。有几个方面的原因。
① 它是综合性的,不属于某一章、某一知识点,而是跟好多个章节都有关系。比方,《VC2008调试方法》中的技术能够运用到第3-16各章中。 ② 它篇幅较长。插在正文中在视觉上颠倒主次。 ③ 它是总结性的 ④ 它具有较高技术难度,通过它的学习能够更好的理解正文。
简而言之,我希望这是一个可读的书。你可以像那些好书我读过相同。良好的人“不可能不读”。我希望这本书是一本对大多数人故意,在此刻似几乎不用担心。我希望这是一本通俗读物,由于只有更广泛的传播。能够让更多的人受益。
邵发
2015/3/10
认为C/C++很难理解、找工作面试笔试,快看看这本书!的更多相关文章
- 猿灯塔:疫情冲击,去体验远程面试被怼10分钟,今年Java开发找工作真难
网行业,美团王兴曾说:“2019年可能会是过去十年里最差的一年,却是未来十年里最好的一年”.没想到预言竟然快成真了? 年前很多企业一波裁员,2020年又受疫情影响,延长了假期,各大企业复工时间拉长,招 ...
- 2020 倒计时 1 天,Python 工程师找工作更难了?
Python 是最神奇的编程语言. 无意引战,我说的是"神奇",不是"最好",并不想去"撼动" PHP 的地位. ...
- 关于Unity游戏开发方向找工作方面的一些个人看法
这是个老生常谈,却又是谁绕不过去的话题,而对于每个人来说,所遇到的情况又不尽相同,别人的求职方式和路线不一定适合你,即使是背景很相似的两个人,有时候机遇也很重要. 我本人的工作经验只有一年,就业方式 ...
- 转:Eric Lippert:阅读代码真的很难
转自:http://blog.jobbole.com/438/ 相关文章 微软资深软件工程师:阅读代码真的很难(第2篇) 阅读优秀代码是提高开发人员修为的一种捷径 学会阅读源代码 如何阅读大型代码库? ...
- IT行业歧视40岁以上人群为找工作还要谎报年龄[转]
IT行业歧视40岁以上人群为找工作还要谎报年龄(这样不好) http://www.aliyun.com/zixun/content/2_6_616161.html [赛迪网讯]4月5日消息,许多40多 ...
- [找工作] 2019秋招|从春招到秋招,Java岗经验总结(收获AT)
转自(有更多) https://blog.csdn.net/zj15527620802/article/month/2018/10 前言 找工作是一件辛酸而又难忘的历程.经历过焦虑.等待.希望,我们最 ...
- 教你写Makefile(很全,含有工作经验的)
Makefile 值得一提的是,在Makefile中的命令,必须要以[Tab]键开始. 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了 ...
- 0302IT行业虽吃香,能完全享受这块“香"的也很难
面对现今严峻的就业形势,越来越多的人希望通过职业技能培训或者学历提升来提高自己的综合技能以便能够顺利地应聘到自己理想中的工作. 在2014年十大最热门行业和职业排行榜中IT行业最吃香.在十大行业里,I ...
- 如何正确学习web前端流程以及如何找工作
解释一下web前端工作是做啥的,Web前端开发工程师,主要职责是利用(X)HTML/CSS/JavaScript/Flash等各种Web技术进行客户端产品的开发.完成客户端程序(也就是浏览器端)的开发 ...
随机推荐
- Nginx设置alias实现虚拟目录 alias与root的用法区别
Nginx 貌似没有虚拟目录的说法,因为它本来就是完完全全根据目录来设计并工作的.如果非要给nginx安上一个虚拟目录的说法,那就只有alias标签比较"像",干脆来说说alias ...
- qt新进程工作目录的设置(工作目录确实是被子进程继承的,但也可以设置)
经过试验,qt启动一个新的进程时,这个进程的工作目录是继承父进程的,无论是通过start还是startDetached来启动. 其实对于linux系统,qt底层应该也是调用fork.exec之类的函数 ...
- 文档数据库RavenDB-介绍与初体验
文档数据库RavenDB-介绍与初体验 阅读目录 1.RavenDB概述与特性 2.RavenDB安装 3.C#开发初体验 4.RavenDB资源 不知不觉,“.NET平台开源项目速览“系列文章已经1 ...
- Android Studio中如何打JAR包
Android Studio中对于library类型的Moudle,默认打出来的是AAR包, 但有时候我们的SDK还需要共享给一些其他eclipse的项目使用,这样我们就需要输出JAR包, 可以通过在 ...
- JSTL分割字符 fn:split()
<%@ page language="java" contentType="text/html; charset=UTF-8"%><%@ ta ...
- vlan 以及 Linux实现的IEEE 802.1Q VLAN
vlan 以及 Linux实现的IEEE 802.1Q VLAN Vlan的概念 VLAN技术介绍 VLANVLAN概述 以太网是一种基于CSMA/CD(Carrier Sense Multiple ...
- 计算机视觉与模式识别代码合集第二版three
计算机视觉与模式识别代码合集第二版three Topic Name Reference code Optical Flow Horn and Schunck's Optical Flow ...
- ubuntu12.04下搭建ftpserver
楼主想把同学硬盘里面的200多G电影共享给实验室的小伙伴们看,就打算在内网server上搭建一个ftp的server. 1.安装ftp 首先在终端下键入例如以下内容,安装ftpserver: sudo ...
- lucene4.4 索引的增删改查
package com.lucene.test; import java.io.File; import java.io.FileReader; import java.io.IOException; ...
- Android中关于JNI 的学习(六)JNI中注冊方法的实现
在前面的样例中,我们会发现,当在Java类中定义一个方法的时候,例如以下: public class ParamTransferTest { public static int testval = 1 ...