自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (2)
  • 收藏
  • 关注

原创 老所工作室 : boost::serialization库之对象状态的保存

本文转自http://blog.ipattern.org/archives/18关于对象的序列化,是OO语言中的一个重要内容。然而,作为C++语言的标准库,STL并没有提供对序列化的支持。还好,我们还有boost这个“准标准”库,它倒是提供了序列化的支持。让我们来看看它都有些什么能耐吧。首先,我们定义一个用于测试的类:#include #include using namespa

2008-04-13 16:11:00 827

原创 boost::serialization库之对象状态的保存

实在要被CSDN的排版搞疯了,还是直接去我博客看文章吧,链接如下:http://blog.ipattern.org/archives/18

2008-04-13 01:28:00 560

原创 正确使用gettext来翻译Wordpress主题

Wordpress是一个非常不错的blog系统,使用方便,且能更换不同的主题。在国外的网站上,有很多免费的主题,这些主题不但表现形式漂亮、简洁,而且代码也非常精炼。但我们国人在使用这些主题的时候,都不免要碰到一个汉化的问题。最直接的办法,当然是打开文本编辑器,将这些主题的模板文件进行修改,将英文的地方 替换成中文。但这样的做法,虽然直接,存在的缺点也是很明显的:首先,我们需要了解我们文本编辑器

2008-04-10 21:30:00 1819

原创 boost::preprocessor库使用入门

preprocessor库是boost大家族的一员,它提供各种宏语言函数,使我们能够更好地使用C/C++的预编译器,包括编译时的计算以及代码的重复生成。本文主要参考了《C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond》这本书的附录A:An Introduction to Pro

2008-04-09 20:01:00 2640

原创 boost::preprocessor库之嵌套循环及其它

通过上面几篇文章,我们已经初步了解了pp库的作用。然而我们在实际编程中,肯定会碰到一些较为复杂的问题,这就要求我们要学会使用pp库的在线文档(请访问boost.org来搜索pp库的电子文档)。比如,我们很有可能遇到多重嵌套循环的需求,然而宏语言对于这些我们平时司空见惯的编程逻辑还能力有限。下面我们来看一个2层深度的嵌套样例:#ifndef BOOST_PP_IS_ITERATING// w

2008-04-09 19:57:00 2012 1

原创 boost::preprocessor库之文件重复与自我重复

上回中,我们利用LOCAL重复将3个模板类生成到了单独的三行,可是我们还是不会满足,毕竟,一行一个类还是不便于阅读和调试。要进一步改进,我们需要运用新的方法:文件重复(File重复)。顾名思义,文件重复需要用到文件,我们将用于重复的模式单独写到一个文件中,然后调用这个模式重复产生代码。开始动手,首先创建一个单独的文件:pattern.hpp:#define n BOOST_PP_ITE

2008-04-08 18:29:00 1901

原创 boost::preprocessor库之横向重复与纵向重复

下面我们我们来看看pp库的另一大功能:代码重复产生。代码重复在模板类的特例化里非常有用,那能方便地帮我们产生数量众多的模板特例化。下面看一个简单的特例化模板产生的代码:#include #define M 3template struct tiny_size : mpl::int_{};同样用g++ -P -E进行预编译,查看一下结果:template struct tiny_siz

2008-04-07 14:18:00 2568

原创 boost::preprocessor库的计算替换

上回说到pp库的第一大类功能是关于宏语言计算的支持。今天就来讲讲这个类型的应用。首先看个例子。打开你的文本编辑器,输入以下内容,并保存为test.cpp:#define N 15#define M (N*(N+1))/2int m = M;这段程序用宏设置了一个计算公式:m = (n*(n+1))/2。我们希望经过预编译,它能输出如下的代码:int m = 120;现在我们看看

2008-04-07 00:39:00 3443 2

原创 boost::preprocessor库简介

boost::preprocessor库,在boost这个大家族里担任着为C/C++预处理器编程提供支持的重任。它的思想来自C++ metaprogramming。说起这个metaprogramming,我们其实见得不少了。C++ metaprogram之于C++程序的关系,就如同XML之于HTML、WSDL(WebServices的接口描述)之于gSOAP库(一个C++的 SOAP库)、SL

2008-04-07 00:22:00 3244

微分方程教程 - DE Complete

一本英文的微分方程教程,由浅入深,先介绍基本概念,然后是微分方程的解法,最后涉及了偏微分方程。

2010-05-02

Programming in Scala (final)

Scala 语言开发者合著之书。http://book.douban.com/subject/3338669/

2010-04-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除