`
yangshen998
  • 浏览: 1248535 次
文章分类
社区版块
存档分类
最新评论

C++杂记

 
阅读更多

不知道什么时候被人建议过,有空的时候不要光埋头看书,隔断时间总结总结最近的成果.哪怕只是流水帐的一般,也对自己的学习有帮助,还可以记录下自己成长的脚步.自己觉的,可以记录自己很多现在的想法,这些想法随着学习可能会消逝,可能会遗忘,写下来放在这里,给自己参考,对别人能有帮助更好.希望看到的人,别吝惜自己的话,多交流.

从2004年9月开始上C++这门课到现在4年多了.其实C++几乎可以说学的一塌糊涂,除了当初考程序员的时候写了个找瑞年的代码,这么多年都没有写过什么代码。4月份复试结束后,和导师交流的时候,导师建议熟练掌握门语言,当时就想到了C++。

选它,不是因为学过它,C#我也学过,费的时间也不少,但是我不敢说我会用。C#本身不难,可能是因为我一行代码都没有在自己的机器上运行过吧,浪费了那么多的笔记了,就找工作的时候用上了点。一方面是因为其功能强大,一方面是因为自己这么长时间都没有弄明白的东西,再不弄好有点说不过去了。

所以4月份就开始着手学习VC++。当时是因为朋友有个小项目需要动手,让我练练手。其实就是界面加数据库吧。但是最后项目也泡汤了。我真正在家看书,写代码,也就是到7月左右,就彻底堕落了,吃了睡睡了吃,然后就是上网,一大堆书也没有看多少。从那扔下以后,就没有怎么再看了。就是孙鑫老师那本书,那本书做培训用,绝对很好,对于初学者来说也很不错,但是作为现在用,有点太浅了。后来改用了本国外的教材,看了部分后也停下了。我理解应该不算是放弃,算是调整方向。

原来我的学习是,除了上课以外,读英文版的本研究方向的书,一方面就是学习VC++编程。后来觉得C++的东西知道太少,实在进行不下去了,所以才挺了下来。而且我的方向是软件工程,读太多的理论太强的书的话,没有实践也不行。这时候其实才读第二本英文原版书,读了有200多页。以后可以慢慢把这些东西穿插起来进行。

所以10月底,具体说就是10月25号心血来潮,就去买了套《C++primer》第四版,中文版的。其实在这之前,因为查找东西,看过别人的第三版的几次,觉得很不错,很全面,介绍的也很容易理解。想通过这本书对C++有个初步的认识,然后不断的去深入学习,最后再涉及到平台的学习,如果不原意在Windows平台下,还可以在Linux平台下,反正标准C++是一样的。

到今天,11月30日为止,完成了该书的第一部分--基本语言的内容的学习。开始容器和算法的学习。在这一个多月的学习过程中,给人印象最深刻的内容应该是标准库的内容,这部分原来的C++教程都是没有提到过的。当然还有很多东西,虽然基础语言这部分再三学习了,但是读这本书的时候,还是总是给人惊喜的,总有自己以前总遇见,但是没有搞明白的。比如:动态数组、try、const限定符、return的应用、静态局部对象、内联函数、标准IO库等。但是其实有些内容介绍的有点少,有些内容自己也不是太明白。比如try语句,感觉介绍的有点模糊,内容也少,自己也不是太明白。标准IO库,也没有完全搞清楚。

函数的参数传递这部分,让我对引用的认识提高了不少,也对我对指针的理解更深了一点。尤其是把指针当作参数传递的时候,到底是怎么样一个情况。就比如那个交换两个数的函数,如果传递的是指向这两个变量的指针的话,即使最后顺利交换成功,但是两个传递的指针的内容其实是没有改变的,只是这个地址上存的数据交换了而已。并没有通过形参来改变实参。如果想通过形参的改变来影响实参,只有使用引用类型了。所以指针传递属于非引用传递。指针在非引用类型里也算是比较特殊的,很多特殊的场合可以用它来实现。

还有一个感触比较深刻的就是,边读书边做课后的习题。据说这本书的课后习题很经典,现在看来确实是。不管是理论内容,还是需要自己编写代码的都是。感觉很明显的就是,在不断的写代码的过程中,自己对课本内容的理解比只看书深刻多了,而且掌握的很牢固。应该在不断的写代码的过程中提高自己的编程能力。这可能也是以前学的编程语言一直学的不好,并忘得差不多了的缘故。所以,在以后的学习中,更要注重实践。

要务实。

分享到:
评论

相关推荐

    C/C++杂记 虚函数的实现的基本原理(图文)

    主要介绍了C/C++杂记 虚函数的实现的基本原理(图文),需要的朋友可以参考下

    android杂记:C++文件的添加log方法分享

    介绍了android杂记:C++文件的添加log方法,有需要的朋友可以参考一下

    InstallshieldX安装制作杂记(实例之自定义对话框)

    自定义对话框 事件的建立 安装完后阅读文献和执行程序

    Thinking.In.C++

    看Thinking系列,强烈推荐英文版,因为这不是入门,而是思想,肯定要看原汁原味。

    CPP杂记——移动构造函数中需要注意的问题

    默认的浅拷贝构造函数在临时变量被析构时还会释放其中的动态元素内存,这时便会对其他部分产生影响,c++11前未仔细优化的代码大都直接编写深拷贝构造函数,但由于作为参数的临时性,这种行为是无必要的。 . 这时的...

    matlab有什么好玩的代码-Blogs:记录一些学习历程与思考的blogs

    matlab有什么好玩的代码 title date categories tags README 2019-11-12 14:39:57 -0800 Blogs 今天(10/21/2017)突然发现我的github不能这样子用,我完全把这玩意儿当成博客网站了,代码...这里是一些杂记:) Matlab 这

    赫夫曼树matlab代码-myBlog:我的博客

    c++ stl库 基础语法 redis Redis(二) 使用 Redis(三) 复杂度 machine learning [machine-learning 1 线性回归与非线性回归](./machine-learning 1 线性回归与非线性回归.md) matlab 微服务 数据结构 杂记 算法 编程...

    分支界限法解决单源最短路径问题+解决0-1背包问题

    一、 实验目的 1、理解分支限界法的剪枝搜索策略; 2、掌握分支限界法的算法框架; 3、通过应用范例学习分支限界法的设计策略。 二、实验环境 1、硬件环境:Windows 10 ...编译器:Dev C++ 语言:C语言

    回溯法解决最优装载问题+旅行售货员问题

    一、 实验目的 1、理解回溯法的深度优先搜索策略。 2、掌握用回溯法解题的算法框架。 3、通过应用范例学习回溯法的设计策略。 二、实验环境 1、硬件环境:Windows 10 ...编译器:Dev C++ 语言:C语言

    贪心算法解决最优转载+最小生成树问题

    一、实验目的 1、理解贪心算法的基本思想以及两个基本要素; 2、熟练掌握典型的贪心问题; 3、掌握贪心算法解决问题的一般方法、设计贪心算法并能编程实现。 二、实验环境 ...编译器:Dev C++ 语言:C语言

    动态规划解决最长子序列问题+背包问题实验报告

    一、实验目的 1、理解动态规划的基本思想,理解动态规划算法的两个基本要素最优子结构性质和子问题的重叠性质。 2、熟练掌握典型的动态规划问题。 3、掌握动态规划思想分析问题的一般...编译器:Dev C++ 语言:C语言

    编程新手真言 各版本合集

    编程新手真言的初版到最终的第五版,作者的编程感悟及编写这个文档的历程,了解面向底层开发的C及面向业务的面向对象的语言,及游戏开发实例

    asp.net知识库

    C++ 泛型编程系列讲座之实施 泛型技巧系列:简单类型选择器 C# 泛型简介 我眼中的C#2.0新功能特性 泛型技巧系列:避免基类及接口约束 New Article 不该用Generics实现Abstract Factory的理由 C#2.0-泛型 C#2.0-...

Global site tag (gtag.js) - Google Analytics