发布时间:2012-12-17 11:22:16
boost::any的设计理念是做成一个通用类型存储器。基于这个理念,上层应用就不需要关心容器里面所存储的数据类型是什么了。这里我不打算讲boost::any的应用,具体的应用大家可以google即可。我想讲的是boost::any在设计上的技巧,这跟设计模式相关。boost::any类并不是一个模板类,这可以大大的方便上层应用的使用,它会自动化的类型转换。核心就是any类中,包含一个模板类holder的基类placeholder指针,而placeholder却不是模板类,这样就可以被any类使用了。具体的如下面所示: 点击(此处)折叠或打开class any{public : &......【阅读全文】
发布时间:2012-12-17 10:36:19
[转]Boost Any与VariantBoost库中提供了三种比较实用的数据结构,分别是tuple、any和variant。它们的共同优点就是支持类型安全地存储和获取数据。灵活地使用这三种数据结构,对我们进行程序设计无疑是大有裨益的。下面分别加以介绍。tuple支持一次直接声明和使用n个不同数据类型的变量。对于有多个返回值的函数,我们再也不用定义一个结构体作为函数的返回值类型了,也不用通过对参数进行引用来传出返回值(这样返回值的概念不太明确),而是可以直接使用tuple。◆ 声明一个tuple类型的对象:tuple<int,double,string> triple(42, 3.......【阅读全文】
发布时间:2012-12-11 16:33:02
转自http://blog.csdn.net/benny5609/article/details/2173205SQLite3的确很好用。小巧、速度快。这些天正在研究它,将它移植到ARM系统里面,又有一些收获,这里把我对sqlite3的研究列出来,以备忘记。【其中有摘抄自互联网】SQLite3提供的是一些C函数接口,你可以用这些函数操作数据库。通过使用这些接口,传递一些标准sql语句(以char *类型)给SQLite3函数,SQLite3就会为你操作数据库。SQLite3跟MS的access一样是文件型数据库,就是说,一个数据库就是一个文件,此数据库里可以建立很多的表,可以建立索引、触发器等......【阅读全文】