- 博客(7)
- 资源 (3)
- 收藏
- 关注
原创 泛型编程之迭代器 Iterators
接触迭代器主要是在接触和使用STL时候开始的。作为泛型编程的良好实践,STL的迭代器有着非常显著的代表性。最初,我并不了解迭代器的作用,甚至一直很排斥使用它。但随着逐步开始了解STL,慢慢开始了解了迭代器的意义以及重要性。本文主要是就自己所学所了解做一个简单的整理。本文内容参考整理自《泛型编程与STL》。一、迭代器的重要性迭代器,又称作泛型指针。顾名思义,迭代器就是模仿指针来实现的。有
2015-04-02 20:55:27 879
原创 C和C++哪个更快?
身边的人一般说道这个问题,总会马上第一个回应我,C语言的速度更快。但实际上,这个问题并不是可以这样单纯的来回答的。下面就我个人的一些体会以及看书时了解的内容,对这个问题做一个粗浅的整理和总结。如有疏漏,欢迎指出。一、什么是C,什么是C++说起来,我觉得这是一个非常难以回答的问题。因为我们在这样说的时候,已经暗含了默认常规的C代码不属于C++的意思。但由于C++对C的兼容,实际上C语言实现的
2015-02-02 13:15:40 16662 5
原创 编写可读代码(三) 如何编写注释
记得在学习编程伊始,就被一直强调着注释的作用,甚至我还听说有的老师会强制要求学生注释(比方说每个变量必须注释)。诚然,合理恰当的注释有助于别人快速理解我们的代码,也有助于长时间后重拾自己的代码,但不合理的注释往往会浪费我们的时间,甚至为理解代码带来障碍。一、注释的作用1,交代代码外的信息通过注释,我们可以了解一些代码外的信息,如作者,授权信息等,这有利于我们合法的使用源代码。2
2015-02-01 20:16:29 765
原创 编写可读代码(二) 如何命名
记得看到过一个调查,说程序员最头疼的事情是什么,最后票数最高的是Naming things(http://kb.cnblogs.com/page/192017/)。从中不难看出,命名这件往往被初学者忽略的事情,其实是编写代码中非常非常重要的一环。一个良好的命名,能使自己在写代码过程中的思路更加清晰,可以省却很多不必要的注释,也可以让代码变得更加易读。下面就我个人的一些体验以及阅读《编写可读代码
2015-01-25 03:00:52 1035
原创 编写可读代码(一) 命名方法和命名规范
计算机编程中主要有四种命名法则匈牙利命名法、下划线命名法、帕斯卡命名法和骆驼命名法。一、匈牙利命名法据说这种命名法是一位叫 Charles Simonyi 的匈牙利程序员发明的,后来他在微软呆了几年,于是这种命名法就通过微软的各种产品和文档资料向世界传播开了。大部分程序员不管自己使用什么软件进行开发,或多或少都使用了这种命名法。这种命名法的出发点是把变量名按:属性+类型+对象描述的顺序组合
2015-01-18 16:44:42 4561
原创 大端模式、小端模式及其在Qt中的转换
大端模式和小端模式是计算机中经常涉及到的两种字节序,也有大端对齐、小端对齐、大尾、小尾等叫法。一、起源说起这两种模式,就不得不提一下大端(Big-endian)和小端(Little-endian)这两个英文上的起源。“endian”一词来源于乔纳森·斯威夫特的小说格列佛游记。Lilliput和Blefuscu这两个强国在过去的36个月中一直在苦战。战争的原因:大家都知道,吃鸡蛋的时候,
2015-01-11 19:47:48 30558 1
原创 struct内存对齐
出于速度和空间的考量,编译器在实现过程中均会采用对struct内的变量进行内存对齐的操作,虽然会有一定的空间浪费,却可以减少在读取数据时候的读取操作。先看下面的例子struct A{ char a; int b;};int main(){ cout << "size of A:"<<sizeof(A)<<"bytes" << endl; return
2015-01-01 21:40:07 430
一个基于Qt的俄罗斯方块
2014-10-28
一个基于QT的自动检测本机IP并邮件的程序
2014-01-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人