代码改变世界

C++ Standard Stl -- SGI STL源码学习笔记(08) string

2012-09-10 15:39 by respawn, 5659 阅读, 2 推荐, 收藏, 编辑
摘要:从放假到现在,好久没有碰过STL源码了,回家的那段时间学习了lua,lua的学习资料比较少,有时间也发一些关于lua的文章,这个只能说,有时间再说吧.没事的时候就玩玩qt,文章在后面也会补上.昨天呼呼的睡了一整天,晚上FQ去了网络中心,一直坐到现在,熟悉的环境,看来,我还是逃离不了自己内心那份感情.但是,过去的就应该过去了,时间是可以改变这一切的,这只是时间问题.关于STL学习比较好的资料推荐:www.cplusplus.com有些时候我也是喜欢将这个网站的文档作为参考,然后结合SGI STL源码再分析,这样就能很好的理解和深入.好了,废话不多说了.下面就一起看看SGI STL中string的 阅读全文

技术控,等于EQ低?

2012-09-02 23:07 by respawn, 1269 阅读, 1 推荐, 收藏, 编辑
摘要:记得一次在马哲课上听到老师说过一句话:“理工专业的学生,有很多都是技术控,往往EQ很低。”当时我趴在桌子上睡觉,极度无聊中,但是听到这句话,立刻感觉中枪,然后立刻抬起头来,盯着老师看了一会,然后陷入思索中,现在不知道当时在想些什么了。在学校里面,有个同学和我关系很好,我们经常一起去饭堂吃饭,一般都是在路上就讨论技术,大多时候都是C,C++,Linux,吃饭的时候也是不停的讨论,当然也避免不了争执,反正就是努力用自己的观点说服对方。因为吃饭的时候难免还有其他同学和我们一起,所以经常被说是技术控,后来,他们自然也就习惯了。现在想知道的是,什么是技术控? 难道自己这样子的就是?上个学期在工行补卡,顺 阅读全文

VIM 管理好插件,神器也可以华丽~

2012-08-21 17:41 by respawn, 52866 阅读, 3 推荐, 收藏, 编辑
摘要:有过VIM使用和配置经验的同学都知道,VIM经过配置之后可以同IDE相媲美,作为神器当之无愧~不过,配置VIM也是很麻烦的,很多时候当我们需要换系统,或者是备份资料,到其他机器使用的时候就很麻烦.除了拷贝配置文件,还要把插件都拷贝过去,这确实是比较蛋疼的事情~最近在github发现一个新的管理插件 -- vundle,就试玩了一下,感觉还不错.不过,感觉这个插件已经问世很久了,如果真的是那样,那就只能说我后知后觉了.vundle使用很简单.git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle然后在.vimrc文件 阅读全文

程序员,背着屌丝的罪名.还要被人当作是修电脑的.

2012-08-19 19:26 by respawn, 5766 阅读, 3 推荐, 收藏, 编辑
摘要:前面的内容就当是我废话,后面才是吐槽的内容 阅读全文

Qt - 03 信号与槽机制

2012-08-17 15:10 by respawn, 1518 阅读, 0 推荐, 收藏, 编辑
摘要:SIGNAL AND SLOTS,是Qt的核心机制,Qt和其他传统的GUI工具包不一样,不是采用CALLBACK响应触发动作.SIGNAL: 当对象本身发生了一些令对象的client和ower感兴趣的改变,那么信号就会被发射.只有定义过这个信号的类或者是其派生类才可以发射信号.当信号发射后,与其相关联的槽将被执行,就像是函数调用一样.信号槽机制独立与任何GUI事件循环,当所有的槽都返回的时候,就会返回发射清单.当使用queued connections稍微有些不同.如果多个槽与一个信号相连,当信号被发射后,槽将会按照槽连接的顺序一个接着一个的执行.(这里是Qt4.8 ReferenceDocu 阅读全文

Qt - 02 qmake

2012-08-16 19:49 by respawn, 2104 阅读, 1 推荐, 收藏, 编辑
摘要:qmake是奇趣公司开发的,在08年的时候被Nokia收购.不要简单的以为"qmake = Qt + make"的意思,不是这个样子的.我们都知道目前有很多项目构建工具,最典型的就算是GNU的Autotools,CMake.至于两者之间的比较,CMake更胜一筹.Wiki搜索一下,可以看到很多使用CMake开发Qt应用程序模板.而另外的选择基本上就都是使用qmake,单单说Qt开发,使用qmake会让开发更简单,因为qmake是量身定制的.这要和Qt的moc联系在一起.moc,学习过Qt的人应该都清楚,这是一个用来生成一些与信号(signals)和槽(slots)相关的底层 阅读全文

Qt - 01 Qt环境搭建

2012-08-13 00:47 by respawn, 2696 阅读, 0 推荐, 收藏, 编辑
摘要:今天晚上弄了一下windows下的Qt开发环境. 本来打算用emacs+qmake学习Qt,但是考虑到还要在windows下面配置emacs,所以就放弃了这个想法,因为感觉有点浪费时间. 粗率的浏览了一下qt用户群的工具,对于qt的开发工具也是各有不同,大家的爱好很广泛~最后还是决定是用QtCreator,原以为环境搭建过程会很简单,但是中间却总是出问题.1.Qt的官网下载SDK,QtCreator,却忘记下载mingw-gcc4.4.~~ 因为之前我在win下有eclipse+cdt+mingw32的环境.觉得这是个不该犯的错误,有点2.2.QtCreator还是需要配置的,如果不配置的话, 阅读全文

C++ Standard Stl -- SGI STL源码学习笔记(07) stl_vector 与 一些问题的细化 3 resize函数剖析

2012-08-03 14:56 by respawn, 1812 阅读, 0 推荐, 收藏, 编辑
摘要:前面在介绍push_back函数的时候有说到placement new的用法.前面说的很简单.这几天处理一些其他的事情,直到昨天下午才有时间看源码,顺便安静的看一下书. 其中我又看到了挂关于placement new的介绍,那么就在文章开始之前先说一下这个问题. placement new又称"定为new"(我想这纯粹是翻译过来的意思.),当在禁止使用Heap分配的时候,也就是声明对象的构造函数为private的时候,我们不能调用构造函数去构造一个对象,这个时候就可以使用placement new. 前一段时间我在阅读sig stl源码的时候也看到了stl容器对于place 阅读全文

C++ Standard Stl -- SGI STL源码学习笔记(06) stl_vector 与 一些问题的细化 2 push_back函数剖析

2012-07-30 18:15 by respawn, 2620 阅读, 1 推荐, 收藏, 编辑
摘要:上一篇文章中,关于stl_vector的故事只是个开始. 这篇文章中,接着去分析vector中的细节问题. 再次声明,我没有看过关于stl源码分析方面的书籍,强调这一点是为了不会让别人误会我是从别的地方抄袭的. 另外,欢迎大家拍砖。 后面陆续的几篇文章都会详细分析vector中的函数实现.我尽量做到篇幅不大,而且能够尽量用自己的语言和自己分析的结果给大 家展现实现的过程. 这样不会浪费大家的时间.写的不好就请原谅了. push_back函数的作用就是从_M_finish指向的位置开始插入数据。如果预先分配的存储单元不够,则会做扩展处理.会在后面分析的时候 说明这个问题. vo... 阅读全文

写在我离开之前

2012-07-29 12:22 by respawn, 1885 阅读, 1 推荐, 收藏, 编辑
摘要:转眼间,三年的大学生活就这样过去了. 感谢你们,伴我走过两年学习和生活的兄弟,一群可爱的人. 大二的时候,我们聚在一起,各自分组做项目,有老师的陪伴.那时候我们也许想的更多的就是学习. 在那些激情的岁月里,大家不停的在做项目的过程中成长.很快,都已不是当初懵懂不知的大一新生. 后来暑假的时候我们都留校,呆在一起做项目.有时间的时候就一起去玩,那时候的日子真的很快乐. 大二暑假,是我的转型期. 接到头的任务,需要协助研究生做一个科研的项目,被迫从JAVA转C. 那时候开发就只有我和一个师兄在做,那位师兄学的是C++,而我却对C不甚了解,一切都要从零开始.好在项目是在linux下面开... 阅读全文