加载中
[C/C++]C++管道数据流(Stream)的实现

仿照 Java8 Stream 实现的C++版本,使用时只需要包含一个头文件。 #include "stream.h" using namespace cpp::stream; 同时提供了 -> 和 >> 两种类型的操作符调用: ST3 arr[20] = { 0, 1, 2...

[Android]继承式UI界面布局设计

一般而言,Android界面布局使用聚合的方式比较多,这种方式要求首先构建一批能够复用的组件,然后在Activity的布局文件中进行聚合。尽管这种方式能够完成组件的复用,但如果这些组件在不同A...

如何设计一个优秀的(C/C++)类库?

优雅更多的是个人感觉。不优雅的类库也未必不能称得上伟大!

[C/C++]在宏的参数中使用函数指针

typedef是C/C++中用于为现有类型创建更有意义的别名的关键字。对于普通类型来说,类型在左,别名在右。我发现函数指针的这种命名方式不能用于实现某些宏。

2014/10/13 13:36
1.1K
[C/C++]如何给Lambda(匿名)函数命名?

C++11增加了Lambda(匿名)函数,在实际使用中发现对匿名函数命名是很有必要的(增强代码阅读性)。 本文介绍一种优雅的方法实现对匿名函数的命名。

2014/10/13 11:37
603
[软件架构]模块化编程思想及(C++)实践

模块化思想 1. 将系统分成很多的模块,模块内部关注自身需要实现的核心业务。 2. 模块化的典型特点是:“模块间的低耦合”和“模块内的高聚合”。 模块的构成 1. 名称。全局范围内表明该模块...

2014/10/11 09:54
6.9K
[软件架构]基于PluginRT的插件编程

我在前面的一篇文章《反向(或者后向)插件系统设计》中介绍了一种实现插件架构的方法,但是没有给出实现的方法。本文就来讲一讲如何基于PluginRT进行插件编程。PluginRT是前面提到的插件系统...

2014/10/11 09:51
863
[开源世界]如何让C++的模板类支持多参数但同名?

在C++中,根据函数参数个数的不同区分函数重载再常见不过了。也就是说,向下面这样的函数重载在C++中是合法的。 int max(int a, int b) { return a>b?a:b; } int max(int a, int b, int c) {...

2014/06/30 18:40
268
[架构设计]反向(或者后向)插件系统设计

反向(或者后向)插件系统与正向(或者前向)插件系统是一对概念相对的设计模式。正向插件系统是指系统架构的时候预先定义好一系列用于某种特定目的的函数族,然后通过共享库的形式封装不同的...

[软件结构]正向(或者前向)插件系统设计

正向插件系统指的是在设计之初就已经定义好了一族用于特定功能的接口,然后通过共享库的形式隔离不同的实现策略,这样做不仅可以做到运行时按需选择实现策略,而且非常有利于功能的模块化测试...

构建简单的C++运行时反射类型系统

在《运行期构建C++类型系统》这篇文章中,我构建了一套简单的运行期C++类型系统,当时提到了它的应用场景有字符串映射到类型,本篇文章展示的是它的简单实现。

2014/04/05 12:01
895
运行期构建C++类型系统

相对上面提到的那些面向对象语言而言,同样是面向对象的C++语言的类型系统功能还是比较弱的,当然这也有其这么做的原因。那么有没有办法在现有的C++类型系统上提供一些有益的补充呢?本文试着...

[C/C++]属性的秘密——C++仿C#的属性实作(2)

[C/C++]属性的秘密——C++仿C#的属性实作 在上一篇文章中,我实现了C++的属性,但是总感觉哪里还是不对劲 ,嗯,对,是哪个this,属性初始化的时候VS会提示this在没初始化完毕就被使用,虽然...

[C/C++]属性的秘密——C++仿C#的属性实作

一直以来,我都想为C++引入C#里面定义的属性(Property),我尝试了几次: [C/C++]一个实现反射和事件绑定的例子 [C/C++]一个实现反射和事件绑定的例子 (增强版) [C/C++]模仿C#实作C++版属性...

[C/C++]完整揭秘VS2010关于function和bind的实现

很久之前我就对C++里面的function非常感兴趣,也探究出了一些成果。 [C/C++]std::tr1::function源码剖析(一) [C/C++]std::tr1::function源码剖析(二) 这两篇文章是对VS2010中如何实现fun...

2013/10/25 22:16
1.8K
[开源世界]增强版的动态链接库接口导出框架

参考: 从自动导出动态链接库接口看C++的缺点 更新内容: 1.封装了gDllImportList变量,删除了DllImportAttribute.cpp文件。 2.封装了User32类的全局变量,删除了User32.cpp文件。 更新后的框...

[开源世界]从自动导出动态链接库接口看C++的缺点

自动导出动态链接库接口在C++编程中绝对是一件烦人的事情,因为你不得不大量的重复以下几个步骤: 1.加载动态链接库 2.定义导出函数指针定义 3.定义导出函数指针变量 4.从动态链接库中导出函...

[开源世界]简单的线程库

C#的线程有thread、timer、dispatch、task等几种类型,而平时在C++工程中也常常会遇到这几种线程模型,我在思考C#是怎么实现的基础上实作了该线程库,希望能简化开发难度。 #ifndef __Easy_T...

2013/10/18 14:57
550
(转)[开源世​界]图像库MxImage——使用C++模板编写

几乎所有的图像库,基本结构都是一个ImageCore类,包含设置色彩空间、设置内存对齐的接口,稍微小一点的库会把所有函数集中到ImageCore类中,大一点的库会使用相当多的具体的ImageOperation类...

2013/09/09 09:29
393

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部