很有挫败感

     总会时不时的怀疑自己是不是学编程的料,还是自己太笨?

     自己读研前对编程可以说是一窍不通,虽然本科时学过C,但那时也只是应付考试,没学到什么真才实学。

     幸好读研后,自己开始猛的补各种知识,开始从头学C,慢慢的学的有点起色,心里有点小得瑟。自以为学的还可以,就去POJ做题,纯属找虐,信心一下子又重新跌倒谷底。

     之后又再好好研究C,学一些普遍的算法,真正的开始有起色。就试着写写贪吃蛇,五子棋之类的小游戏,虽然写的过程也是百转千回各种纠结,但最后写成后内心还是挺温暖,觉得编程门终于向我开放了。

     之后又开始自己装linux,学写linux下的一些常用指令以及一些编程,虽然不懂的很多,但遇到问题问度娘,度娘神通广大啊,让我积累的东西越来越多,慢慢的对linux下的编程有了一些了解。虽然还只是菜鸟,但坚持下去,谁能保证菜鸟就不会有春天?

      之后开始学C++,看的是钱能的《C++程序设计教程》,刚开始里面的继承,多态,特别是虚函数和运算法重载部分,确实让我狠狠的难倒了一回。看不懂能怎 么办?我采用了最笨的办法,多看几遍呗,就是死磕。最后好像间间断断的把这本书看了至少3遍,算是对C++的语法有了一定的认识,虽然用着C++形式写着 C的代码,但还是心里还是挺洋溢的。虽然看了几遍,但还是有些概念不是太清晰,不是太会运用。无意中翻了一本Java的书,其实大家都知道,Java跟 C++还是有挺多相似之处的,竟然对Java产生了很大的兴趣,去图书馆借了本Java的书,记得用了一个星期就把Java的语法部分全看了一遍,而且看 的过程中竟然加深了我对C++很多知识的理解。不过还是对C/C++情有独钟,之后还是坚持学C++。开始看《C++ Primer》,这才发现国内的教材确实没法跟国外的教材比,这本书确实是本难得的经典书目,国内的教程对很多东西都只是浅尝辄止,概念的解释也是不太清 楚,根本无法让自学者体会到C++这本编程语言的精髓以及与C的区别。那时真像一个饥饿的人趴在了一块面包上,开始废寝忘食的拜读这本被誉为“圣经”的经 典书籍,开始学习STL,这时才真正体会到C++的魅力,以及与C的区别。以前一直听别人说C++非常难学,自己也觉得C++确实挺难学,但看了一部分 《C++ Primer》后,觉得情况可能真不是我之前想的那样,觉得C++虽然需要理解的东西确实比C要多,但学到一定程度后,C++真的将程序员们从C的禁锢中 解脱出来,才发现C++是多么的好用。到底C++有多好?这个问题很多大神们都讨论过,我这菜鸟就不好多说了。

     之后开始学数据结构,现在也一直在学,真的挺麻烦的,什么栈,什么树啊,图啊的,确实挺让人恶心的。自己开始写栈的实现,看严蔚敏的数据结构书时把栈介绍 的那么难,刚开始都看懵了。能怎么办?老办法,死磕呗。多看几遍,自己试着写出栈的实现,不断写,不断的出错,出错后再写,再出错,再写,最后应了一句古 话---皇天不负有心人。觉得数据结构也好,算法也好,或者其他没学过的东西也好,刚开始看都挺懵的,觉得怎么这么难啊,太难了,自己能不能解决啊?最后 弄清楚后才发现,其实啊,什么难不难的,也就那么回事。死磕呗!

     虽然最近学习遇到很多问题,确实挺头疼的。能怎么办?死磕呗。

 

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

以下为大牛的学习建议:

C++学习建议

C++缺点之一,是相对许多语言复杂,而且难学难精。许多人说学习C语言只需一本K&R《C程序设计语言》即可,但C++书籍却是多不胜数。我是从C进入C++,皆是靠阅读自学。在此分享一点学习心得。个人认为,学习C++可分为4个层次:

  • 第一层次,C++基础:挑选一本入门书籍,如《C++ Primer》、《C++大学教程》、或Stroustrup撰写的经典《C++程序设计语言》或他一年半前的新作《C++程序设计原理与实践》,而一般C++课程也止于此,另外《C++ 标准程序库》及《The C++ Standard Library Extensions》可供参考;
  • 第二层次,正确高效地使用C++:此层次开始必须自修,阅读过《(More)Effective C++》、《(More)Exceptional C++》、《Effective STL》及《C++编程规范》等,才适宜踏入专业C++开发之路;
  • 第三层次,深入了解C++:关于全局问题可读《深入探索C++对象模型》、《Imperfect C++》、《C++沉思录》、《STL源码剖析》,要挑战智商,可看关于模版及模版元编程的书籍如《C++ Templates》、《C++设计新思维》、《C++模版元编程》;
  • 第四层次,研究C++:阅读《C++语言的设计和演化》、《编程的本质》(含STL设计背后的数学根基)、C++标准文件《ISO/IEC 14882:2003》、C++标准委员会的提案书和报告书、关于C++的学术文献。

由于我主要是应用C++,大约只停留于第二、三个层次。然而,C++只是软件开发的一环而已,单凭语言并不能应付业务和工程上的问题。建议读者不要强求几年内“彻底学会C++的知识”,到达第二层左右便从工作实战中汲取经验,有兴趣才慢慢继续学习更高层次的知识。虽然学习C++有难度,但也是相当有趣且有满足感的。

转载于:https://www.cnblogs.com/heyonggang/p/3292511.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/376443.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

160 - 18 Brad Soblesky.1

环境: windows xp sp3 工具: Ollydbg,exeinfope 用exeinfope查壳: 没有壳,vc编译的 运行后第一步,随便输入个”12345“,弹出一个错误消息框。 OD载入后直接搜索错误消息框的字符串&#xff0c…

汉字转拼音缩写

汉字转拼音缩写 /// 〈summary〉 /// 汉字转拼音缩写 /// Code By MuseStudiohotmail.com /// 2014-12-02 /// 〈/summary〉 /// 〈param name"str"〉要转换的汉字字符串〈/param〉 /// 〈returns〉拼音缩写〈/returns〉 public string GetPYString(string str) { s…

160 - 19 Brad Soblesky.2

环境: windows xp sp3 工具: OD,exeinfope 查壳: 用exeinfope查壳,发现没有壳而且是vc编译的 随便输入一个name和serial,name "12345" serial "678910" 弹出错误窗口&#xff0c…

微信公众平台开发(59)相册

微信公众平台开发 微信公众平台开发模式 企业微信公众平台 万能相册 3G相册作者:方倍工作室 地址:http://www.cnblogs.com/txw1958/p/weixin-59-albums.html 相册(Photo album)又称影集或照片集,是用来装放相片的物品。相册主要用来收藏和保…

BugFix系列---开篇介绍

这个系列的文章,主要目的在于积累总结实际开发中遇到的错误,记录下来自己的解决思路,用来提升自己。 不出意外,应该会持续不断的记录更新,在整个开发openstack的过程中,抓住机会吸取开源界大牛的有点经验&a…

160 - 20 BuLLeT.8

环境: Windows xp sp3 工具: exeinfope, ollydbg 查壳: 用exeinfope查壳,发现加了壳 -- WWPack32 ver 1.xx ,用f8单步调试法,脱壳。 脱掉之后发现是delphi写的 运行之后发现界面整洁,目标明…

hadoop学习笔记:zookeeper学习(上)

在前面的文章里我多次提到zookeeper对于分布式系统开发的重要性,因此对zookeeper的学习是非常必要的。本篇博文主要是讲解zookeeper的安装和zookeeper的一些基本的应用,同时我还会教大家如何安装伪分布式,伪分布式不能在windows下实现&#x…

恋爱Linux(Fedora20)2——安装Java运行环境(JDK)

因为Fedora20自带OpenJDK,所以我们先删除掉自带的: 1)查看当前的jdk情况 # rpm -qa|grep jdk 2)卸载openjdk # yum -y remove java java-1.7.0-openjdk* 3)下载JDK(我用的是这个,大家用什么版本可以自行选择)。 http://download.csdn.net/det…

160 - 21 Cabeca

环境: Windows xp sp3 工具: exeinfope ollydbg 查壳: 拿到程序后查壳,发现程序无壳,为Delphi写的。 程序长成这个样 输入: Name:GNUBD Serial:1234567 Serial:76543…

JS函数重载解决方案

JS的函数定义可以指定形式参数名称,多多少少我们会以为js至少可以支持参数个数不同的方法重载,然而遗憾的是这仅仅是一个假象,js所有的参数都是以arguments传递过去的,这个参数类似于数组,在函数调用的时候&#xff0c…

JS中replace替换全部元素的解决办法

JavaScript中replace() 方法如果直接用str.replace("-","!") 只会替换第一个匹配的字符. 然而我们大多数需要替换的是全部匹配的元素,而JavaScript又没有java中的replaceAll的方法,这个时候就需要特殊处理了。 String repace(new R…

160 - 22 CarLitoZ.1

环境 Windows xp sp3 工具 exeinfope Ollydbg 查壳 无壳的VB程序 测试 输入“1234567” 显示这个: 直接OD载入字符串搜索。 00402D20 > \55 push ebp 00402D21 . 8BEC mov ebp,esp 00402D23 . 83EC 0C sub e…

实战MEF(4):搜索范围

在前面的文章中,几乎每个示例我们都会接触到扩展类的搜索位置,我们也不妨想一下,既然是自动扩展,它肯定会有一个或者多人可供查找的位置,不然MEF框架怎么知道哪里有扩展组件呢? 就像我们用导航系统去查找某…

Android应用程序请求SurfaceFlinger服务创建Surface的过程分析

文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/7884628 前面我们已经学习过Android应用程序与SurfaceFlinger服务的连接过程了。连接上SurfaceFlinger服务之后,Android应用程序就可以请求…

Oracle面试题(基础篇)

1. Oracle跟SQL Server 2005的区别? 宏观上: 1). 最大的区别在于平台,oracle可以运行在不同的平台上,sql server只能运行在windows平台上,由于windows平台的稳定性和安全性影响了sql server的稳定性和安全性 2). oracl…

160 - 23 Chafe.1

环境 Windows xp sp3 工具 exeinfope ollydbg 查壳 用exeinfoe查壳 测试 可以从左下角状态栏看出serial是无效的 直接OD载入字符串搜索 00401274 |. /75 17 jnz XChafe_1.0040128D 00401276 |. |6A 00 push 0x0 ; /Ti…

fis 详细介绍(mac版) - 12-26没有弄完 - 暂停

fis可以让fe进入角色,而不必担心底层的架构,性能得到优化。仅需三条命令,即可解决所有前端开发要求fis是nodejs写的,发布在vpn(?)上下载 www.nodejs.org,并安装nodejs,其中包括npm安装fis: sudo…

用文件模拟CMOS保存数据

Hi3520D 芯片的内置CMOS最多只有5个字节可以用,但是我需要保存的数据有很多。 其中一个解决办法是:可以把其他需要保存的数据放到一个配置文件中。每次写的时候写到配置文件,用的时候再从配置文件读出数据即可。 用文件写: 1 stat…

160 - 24 Chafe.2

环境: Windows xp sp3 工具 exeinfope OllyDBG 查壳 用exeinfope查壳,发现是没有壳的。 测试 可以看出是从红色框框里面的内容判断serial是否有效 OD载入,字符串搜索可以得到: 004011EC . 55 pus…

十个利用矩阵乘法解决的经典题目

转载自 Matrix67: The Aha Moments 好像目前还没有这方面题目的总结。这几天连续看到四个问这类题目的人,今天在这里简单写一下。这里我们不介绍其它有关矩阵的知识,只介绍矩阵乘法和相关性质。 不要以为数学中的矩阵也是黑色屏幕上不断变化的绿色…