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库,也没有完全搞清楚。

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

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

        要务实。

       

时间: 2024-10-31 08:26:26

C++杂记的相关文章

有关Java的日期处理的一些杂记

在企业应用开发中,经常会遇到日期的相关处理,说实话JDK自带的日期方法很难用.就我个人而言我一般都会采用joda-time来替代JDK自身的日期. 这篇文章是杂记,所以写的比较零散,希望大家不要见怪.   SimpleDateFormat 先来说说JDK自带的SimpleDateFormat类吧.SimpleDateFormat 是 Java 中一个非常常用的类用来对日期字符串进行解析和格式化输出,但如果使用不小心会导致非常微妙和难以调试的问题,因为 DateFormat 和 SimpleDat

2014寒假杂记

当老师的,每年能够享受两个假期,很幸福的事.这是一段可以自由安排的时间.自由,随心地安排一些事做,的确感觉很好.下周一就要正式开课了,要在各项约束下开展工作了. 寒假开展的几件事情: (1)在早就列出提纲的N篇教研论文中,捡起来完成了两篇<"问题求解"课对我的教学工作启发>和<利用博客提交作业的程序设计课程实践模式>,投稿<计算机教育>.现在教学研究类论文发表的整体情况感觉很乱,在其他期刊上陆续发表过一些凑数的文章.<计算机教育>是我一直

二周年杂记

前言 去年工作一周年时,写了一篇总结(小前端一周年杂记),现在来看里面一些观点还是颇为幼稚的.如今过了两周年了,我想还是继续记录一下自己的职业历程和真实想法.或许明年再看此文依然会觉得很幼稚,但这也正是我所期望的. 相比第一年一直在搬砖,第二年的职业经历要丰富的多,技术上依然没有什么突破,倒是自己的很多观念和想法被不断刷新.所以,本文是没有任何技术干货的,更多的是思考. 这是十年技术之路的第二篇,以下是年度关键字总结. 以下内容仅代表个人观点,与任何组织及公司无关,若有不当之处请及时指出或者大吼

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

1. 概述 简单地说,每一个含有虚函数(无论是其本身的,还是继承而来的)的类都至少有一个与之对应的虚函数表,其中存放着该类所有的虚函数对应的函数指针.例: 其中: B的虚函数表中存放着B::foo和B::bar两个函数指针. D的虚函数表中存放的既有继承自B的虚函数B::foo,又有重写(override)了基类虚函数B::bar的D::bar,还有新增的虚函数D::quz. 提示:为了描述方便,本文在探讨对象内存布局时,将忽略内存对齐对布局的影响. 2. 虚函数表构造过程 从编译器的角度来说,

杂记乱弹20140826

    突然发现不写挨踢文章竟然不知道写些神马鸟!一根筋似的单纯小脑瓜能不能一路过关斩将笑傲江湖到最后,这个还真不好说呢?不过从概率学上说恐怕期望不高呀!活到现在眼界没怎么开阔,知识老是原地踏步,怎么不让人捉急呢?     慢慢来吧!真的慢慢来吗?时间还够吗?这句话是最好的借口吗?要对自己狠一点吗?不积跬步无以至千里,九尺之塔岂是一夜就能搭完的?关键是什么?一个困扰我几千年的难题!!!我也懒得说了,反正太阳要出来鸟,我也要滚回床里睡觉去鸟.爱机中的迅雷还不知疲倦的下载着醒来要看的电影.对的,醒来

虚拟串口--杂记

虚拟串口被占用,软件可用串口有限COM1-COM4,如何释放和删除被占用的串口   A:可以通过删除注册表中的一个数值项来清除这些配置:在"运行"对话框中输入"regedit"进入注册表:然后进入 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter这时我们可以找到该数值项:ComDB,它的值代表目前使用中的串口端号.比如1d,它的二进制:0001 1101,则从右往左数代表第1,3

linux C杂记(一)

1.linux常识汇总: GNU=GNU's Not UNIX,为了区别于UNIX系统: Linux是类UNIX操作系统,免费.开源是其最大的特点,是多用户多任务且符合POSIX标准的操作系统: 目标:非私有的.开放的操作系统: 条款:GPL=General Public Licence: UNIX与Linux区别:UNIX大多与硬件配套,而linux可运行在多种硬件平台上: 1991年由Linus Torvalds开发,1994年发布Linux1.0: Linux2.6.10:2是主版本号,6

SQL Server性能调优杂记(四)

系统上线完,性能问题往往是Warranty和后期维护的一个重要问题. 这些天,客户又来反映, 有一个查询非常慢.这个查询用的是主关键字查询,由于主键是聚集索引,而且又做了碎片处理.应该是 非常快.但是看到的现象就是很慢(10秒左右,最差有18秒之多).排除了硬件.资源锁定等问题,还不 用到达Database端的Tunning级别.基本判断和SQL文有关,要细看SQL文的执行计划. 首先把SQL 文找出来 SELECT a.AWB_NO, a.BWB_NO, a.CWB_NO, a.ORIGIN,

SQL Server性能调优杂记(三)

这个例子和上面一个例子结果相反. SQL文1 declare @CWB_NO varchar(50) set @cwb_no='31301379874' SELECT a.AWB_NO, a.BWB_NO, a.CWB_NO, a.ORIGIN, a.DEST, a.MODIFY_ON, a.CREATED_ON, a.CONSIGNOR_CUSTOMER_CODE, a.CONSIGNOR_CODE, a.CONSIGNOR_NAME, a.CONSIGNEE_NAME, a.CWB_STAT

SQL Server性能调优杂记(二)----傻瓜机的失效效应续

上文说道了失效效应.只想说明在Performance Tunning方面只能根据情况来寻求原因并解决.这是一 个有意思的过程.大原则是经验,帮助我们少犯错误.因此,糟糕的设计,必然导致性能问题.没有经验 的程序员必然会写出糟糕的代码.但是良好的设计可以弥补程序员的经验不足.这个到此打住,这个 topic涉及品质管理,实在太大了. 再看一例,失效效应的体现. 还是上文数说道了2种SQL文 写法产生的执行计划.我选用一台双核的PC,相当于2个单核CPU. 有一个大表TB_CWB.记录约30 -40万