自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 定单簿的一种实现

定单簿(Order Book) 的一种实现定单簿的简单业务背景介绍 最近笔者需要根据业务需要实现一个“快速”的定单簿,首先在此啰嗦一下什么是“定单簿”和有关“定单簿”的一些简单业务场景描述。我们都知道在股票交易的时候,都会在具体一个股票操作界面的右上角处(很多交易专业人员称之为“盘口”)看到多档价位行情(通常是买5档卖5档),这个“盘口”实际上是定单簿的一定程度的外表反应;顾名思义...

2016-02-25 19:59:35 304

原创 探究boost::bind的实现

泛化的bind实用性很强,支持将泛化函数(函数、函数指针、仿函数、与成员函数)与运行期实参的动态绑定;在实际工程中也经常作为基础工具集之一被频繁地使用;我计划投入一定的精力,仔细阅读boost库中的基础工具集的代码实现(bind是第一个);旨在了解这些工具的内部实现机理同时也提高下自己的C++语言泛型编程技术,以备后续的实际工程中使用; 2005年,Andrei Alexandresc...

2015-04-24 11:20:27 163

原创 再探小型对象分配技巧

再探小型对象分配技巧(Small-Object Allocation)/* * References, 参考文献: * [1]. Alexandrescu, Andrei. "Modern C++ Design: Generic Programming and Design  * Patterns Applied". Copyright (c) 2001. Addison-Wesl...

2012-05-16 19:43:18 244

原创 Templates使用技巧基础

模板使用技巧基础这篇文章主要记下实际工程中使用模板的一些基本技巧,其中主要包括typename关键字的使用,定义模板成员函数,定义嵌套类模板,双重模板类型参数(template template parameter),以及零值初始化的技巧。 一、关键字typename关键字typename是C++标准化过程中被引入的,目的是告诉编译器模板类型参数或者其内的某个标识符是个类型。t...

2012-05-01 22:10:33 271

原创 STL容器默认的内存分配器(std::alloc)

STL容器默认的内存分配器(std::alloc)STL中的容器类的class templates,最后一个template parameter就是alloc,而默认值便是std::alloc。对象构造前的空间配置与对象析构后的空间释放,由<bits/stl_alloc.h>负责,SGI设计此库时,主要有以下几个考虑因素:向heap申请空间考虑线程安全内存不足时的应变...

2012-05-01 12:11:20 501

原创 cppcms中的session

问题: 如果打开cppcms的reference文档,在吹泡泡cms::sessions namespace下存在如下几个类: class   encryptor;  // 泛型session cookies 加密接口.  class   encryptor_factory;  // 顾名思义,建立新加密器的接口 class   session_cookies; // 使用加密的...

2012-04-20 16:51:09 225

原创 理解cppcms中的form

问题: cppcms中form如何使用呢?官网上,除了教学篇-5之外,再无其他关于form使用的帮助文档了。当然,还有另外两种办法,就是看reference api文档和源代码。但是每次在使用form之前,或者长时间不用cppcms都使用后面两种办法自学的话,真是有点费劲费时。 小结: 基于上述问题原因,做了下面cppcms中form的小结,以便后续使用。  还是先看教学篇...

2012-04-18 15:43:38 253

原创 理解cppcms中的dispatcher和mapper

问题:如何理解CPPCMS application中的dispatcher()和mapper(). #include <cppcms/application.h>#include <cppcms/applications_pool.h>#include <cppcms/service.h>#include <cppcms/http_r...

2012-04-17 16:02:38 198

原创 初识CPPCMS中的template概念

问题描述: cppcms事实上一个mvc的web架构,其中一个重要组成部分就是view-html rendering系统。cppcms的网页是用特殊的template语言编写,编写后的网页可以由翻译器(cppcms_tmpl_cc)翻译成c++代码,最后可以由编译器编译成shared object。 通常情况下,cppcms template系统使用push model, 当用户应用程序准...

2012-04-16 11:57:58 349

原创 cppdb在mac系统上的编译安装

每每安装开源软件的时候,最头痛的就是编译安装的过程中出现了编译错误。有时看到大篇幅的编译错误时,就不知道该从哪下手修正错误了。这也许就是开源软件相对于商业软件难于普及的一个重要原因吧。 问题描述:cppdb在mac上的编译过程中出现了如下错误提示,              Building CXX object CMakeFiles/cppdb.dir/drivers/odbc_ba...

2012-04-16 09:53:32 149

原创 CPPCMS 在MAC上的安装与编译

问题描述:按照官网的步骤,进行如下操作 1. tar xzvf cppcms-1.0.1.tar.gz 2. cd cppcms-1.0.1 3. mkdir build 4. cd build 5. cmake -DCMAKE_INSTALL_PREFIX=/opt/local .. 编译过程中,出现了如下错误信息  Linking C...

2012-04-16 09:34:06 207

原创 Class Templates

一、class template定义#include <vector>#include <stdexcept>template <typename T>class Stack { private: std::vector elems; public: void push(const T&); ...

2011-10-25 17:45:20 131

原创 Function Templates

一、定义 Function Template  template <typename T>inline const T& max(const T& a, const T& b){ return a<b ? a : b;} 二、参数推导当使用某一类型的参数调用max()时,模板参数(template pa...

2011-10-25 16:09:10 113

有效创建一个类(四)

在前三篇中我说明了有效创建一个类的前4个考虑步骤,现在就差最后一步了,考虑创建与类定义有关的异常类。[b]异常的概述[/b]用户调用某个函数,函数可以在运行时检测到错误,但是不知道如何处理;用户呢,实际上知道在遇到这种错误时,该如何处理;为了解决这类问题,提出了异常的概念。异常的基本思想是:当函数检测到自己无法处理的错误时抛出一个异常,以便调用者(用户)能够处理这个异常。用户如果希...

2010-12-23 17:07:24 92

有效创建一个类(三)

4. 类成员函数(改变第2种的)设计类改变成员变量的成员函数,需要考虑的因素非常多,但是这些因素大致可以分为两类:一类是比较通用的,另一类呢就是有类体系的前提;(1)是否真需要成为成员函数(2)是否有必要返回对象?如果有必要返回对象,那么不要返回其引用(3)函数参数宁以pass-by-reference-to-const传递替换pass-by-value(4)是否需要提供一...

2010-12-23 13:54:13 104

原创 有效创建一个类(二)

上一篇记录了在创建一个类时,首先要考虑这个类的构造函数、拷贝构造函数、拷贝赋值操作、以及析构函数的声明及定义;那么本篇主要说明的是有关类成员的声明及定义;有关类成员声明的工作实际上大多数时候都是在决定类构造函数、拷贝函数及析构函数之前需要考虑的。那么为什么我要把构造函数等作为创建类考虑的第一个因素呢?因为在大多数软件设计的情况下,无论这个软件是一个大型的应用程序还是其中的微小组件,都是先进行概要设...

2010-12-08 07:47:46 143

原创 有效创建一个类(一)

最近由于工作的需要,让我重拾C++编程语言;重温了Bjarne Stroustrup的大作《The C++ Programming Language》,仍然还有很多东西不是十分明白,但还是希望能够把所学的经验总结下来。虽然这本书不适合C++语言初学者,但是书中的很多细节都能让一个有经验的程序开发人员获益匪浅。其中关于本书的第二部分“抽象机制”(Abstraction Mechanisms)...

2010-12-03 14:12:55 101

空空如也

空空如也

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

TA关注的人

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