ietf

uuid, a simple introduction

uuid,全称Universally Unique IDentifier,是一种id生成方式,我们使用它来生成一唯一的id. 同时,它也被称为guid. uuid有若干生成方法,本文介绍的是一种基于时间的方法(也就是version 1).协议是rfc4122. 在java中,它是系统内置的class.而在c++中,我们想要实现,其实也不困难. (more…)

重载中括号操作符, 执行复杂操作

C++可以重载运算符, 其中中括号 "[]", 通常在其它地方用于表示下标的操作符, 重载自然也是用于"获得或者设置某个属性"这么个功能.

最简单的莫过于返回一个地址, 做的操作自然都被看光了.

class Opol {
 public:
    Opol() {
        memset(a,0,10);
    }

    int & operator [] (int k) {
        return a[k];
    }
 private:
    int a[10];
}

(more…)

这样是否会导致男女比例失衡?

网上谈论到当今社会男女比例失调,有人说到一个问题,某些地方政策是,夫妻俩生育一个孩子后,如果是女的就可以再生一个,如果是男的,就不能继续了。这导致了男女比例失调。 然而,立马有人反对说,这件事对全社会影响比例非常小。 (more…)

QString, std::string 和 const char * 的互相转换

好多人都喜欢重新造一个轮子, 所以这个世界上的的轮子千奇百怪. 作为在这些轮子下面苟延残喘的洒家,往往不得不无尽的寻找两个轮子之间转换的方法. STL库, 作为标准库, 在写C++的时候理所当然的, 被各种使用. const char * 数组, 作为和C一起过来的小伙伴, 在很多场合下也会被调用. 如果脑抽居然还打算使用Qt, 那么,Qt自带的QString, 恐怕也很难有人能完全不使用. 于是乎, 类型转换就是个问题了. (more…)

callback 用法简介

callback,函数的回调,从ANSI C开始,一直被广为使用。无论是windows API的所谓消息机制,动态链接库的调用,还是sqlite的命令,gcc下的pthread,qsort。callback都在其中起着难以替代的作用。

(more…)

做个图结构

STL库提供了很多很好用的容器,但是没有图.但实际上,我们是常常要用到图的. 前几天居然做梦用写了个图,为了响应心的呼唤,所以写了个带有一些基本功能的图,以后有需求再扩充. 图使用vector作为容器,存放采用邻接表的格式.而图的内容采用模板,这样可以自定义一些奇怪的类型放到里面. 这样,可以给图的每个节点定义一个Node,Node包括位置(这儿写死了是一个二维的int类型的坐标)和一个存放数据的使用模板的data. (more…)

管道文件的使用:读取命令的输出

stdlib 库有个很多人用过的函数:system.

如果希望这段代码能够跨平台,而希望让程序能等个1秒,一个很好的方法就是,system("sleep 1");这样,无论是windows还是linux,我们都可以很好的执行"等待1秒",而不必多写好多参数什么的.

但是,有时候,我们希望能够得到这个命令的输出,而不是只是"执行它".那么,我们需要点新的东西了. (more…)

数独问题的解决

前些日子,有人网上说解决了什么最难数独什么的,然后下面一片欢呼 -- 我看了下所谓题目,无非一个普通的9*9的小题目而已,机器完全可以轻松遍历。 感觉很不可思议 -- 在这种信息时代,计算机能轻松遍历的东西,就不算什么难题,让人闲暇时候玩玩就算了,拿来当作学术成就什么来炫耀,实在有些。。。坐什么观什么了。 (more…)