这里是modern c++开源社区,致力于现代C++促进企业生产力与效率 purecpp社区网站由纯C++打造,这就是真正意义上的purecpp! 这里是社区创始人的github地址 点我前往
purecpp
记一次C++静态反射的实践
1. OBJECTIVE 实现目标,能够获取一个用户自定义类型的成员变量和成员方法,包含静态和非静态的。实现方式有两种,侵入式和非侵入式。侵入式的方案,可以比较好的处理保护类型和私有类型的成员,但是面对无法修改源码的类库却束手无策。非侵入式的实现不需要修改用户自定义类型,可以很好的处理外部的类库,但是又无法处理对非公有成员。两种方案各有优劣,笔者个人是倾向于非侵入式的方案...
purecpp
从抽象谈面向对象与泛型编程 part.2 - 泛型编程的抽象
1. 前言 上一篇浅讨了OOP中抽象常用的方法,而这一篇的内容,主要是对《数学与泛型编程》,后文简称MGP,中部分内容的小结。这本著作有相当多的篇幅,是对数论基础的讨论。其中的一条主线,就是最大公约数(GCD)算法的探讨。GCD是数论的基础,可以说绝大部分数论的定理都是基于GCD推导出来的,而整个数论的发展史就是一部推广GCD算法的历史。GCD算法推广的过程,也演绎出了很...
purecpp
从抽象谈面向对象与泛型编程 part.1
1. 前言 抽象是我们常用的思维过程。一系列事物通过大脑的提炼,归纳和综合,让我们可以从无序中找出有序,从一个个具体的问题中找出通用的解决方法。编程中的抽象是从面相对象的程序设计,后文称为OOP,开始才有了比较完善的语言支持。如今软件复杂程度越来越高,OOP一直都是解决复杂软件设计的重要方法。使用OOP可以屏蔽各个任务具体的细节,抽象出一个简化而统一的流程...
purecpp
解耦利器function message bus
需求1 能把模版函数和一个key注册起来以便后面使用,能把参数不同的函数和一个key注册起来以便后面使用。 c++中没有这样的一个容器可以存放模版函数和参数类型不同的函数。 需求2 对象A和对象B相互调用,耦合性很强,如何消除这种耦合性; 对象A和对象B没有任何关系,但A希望用B里面的方法,但二者又不适合直接关联起来。 ...
purecpp
再谈自动注册的工厂
关于自动注册的工厂,我之前写过了两篇文章,之前的一篇文章在这里。这个自动注册的工厂通过宏实现自动注册,同时也可以支持变参。 下面是通过宏实现自动注册的例子。 之前提到的自动注册的工厂 ...
purecpp
推荐下本人的无栈协程库librf
https://github.com/tearshark/librf librf librf - 协程库 librf是一个基于C++ Coroutines提案 ‘Stackless Resumable Functions’编写的非对称stackless协程库。 目前仅支持: Windows (使用2017编译)(由于使...
purecpp
一个更好的自动注册工厂
在几年前我介绍过一种C++11实现的自动注册工厂,这是工厂模式的一种优雅的实现。在这里我们需要明确一个概念就是工厂模式,它是如何优雅地解决一个产品族的创建问题。所谓产品族就是一个继承体系的产品,比如有一个产品Message,它是一个基类,有很多Message是从它派生而来的,比如有Message1,Message...
purecpp
tensorflow variant源码分析
tensorflow variant基本语义 通过分析tf.variant的源码可以知道它其实是一个any语义,即这个类型可以被任意类型赋值,它的主要目的就是做彻底的类型擦除。 这个名字取得有迷惑性,它和标准库和boost库中的variant语义是不一样的,而是和c++17中的std::any对应的。 tf.variant用法 ...
purecpp
variant原理和应用
variant原理和应用 variant语义 variant是一个泛化的、类型安全的union。可以保存类型不同的对象,它的特点是多类型单值。 基本用法 以c++17中的variant为例(boost中的variant和标准库的用法几乎一样),我们定义一个这种的variant: std::varian...
purecpp
一个C++14模板元实现的深度学习神经网络模板类,支持任意层数
构造编译期矩阵以及数据传递代码,headonly 搜遍了github,在模板元这块机器学习还是空白,正好是个填补,我接下来会逐渐丰富这个库(倒是有几个模板元数学运算库,都很简陋) 大量的矩阵运算用模板元进行有几个让人非常惬意的优势,也发觉模板元其实很适合这种编程 (不知道是否唯有C++才有的优势,数学专用语言不算在内,比如m、r这些): 1、永远不用担心数组越界,也不用写检查数组越界的代码 ...
Absolutely

purecpp

一个很酷的modern c++开源社区


这里有创新的idea,这里有最酷的modern c++代码,这里有很棒的modern c++开源项目。purecpp社区邮箱 purecpp@163.com
友情链接