源码阅读笔记 - 1 MSVC2015中的std::sort
摘要:大约寒假开始的时候我就已经把std::sort的源码阅读完毕并理解其中的做法了,到了寒假结尾,姑且把它写出来 这是我的第一篇源码阅读笔记,以后会发更多的,包括算法和库实现,源码会按照我自己的代码风格格式化,去掉或者展开用于条件编译或者debug检查的宏,依重要程度重新排序函数,但是不会改变命名方式(
阅读全文
posted @
2016-02-22 21:08
PointerSMQ
阅读(1284)
推荐(0)
Win32API界面库 - Project wheels 工程基础部分完成
摘要:离上次发博文过去了好久,先是要忙一个机器人的项目,然后就是部门的事情和考试周复习,然后就到了考试周,趁着复习的间隙,拾起了寒假时候抄的界面库,修掉了从前的bug。bug1 控件显示问题当初抄这个库的时候就对排版部分的代码一头雾水,借着这次调bug,稍微理清了排版部分代码的意图。界面的排版是动态进行的...
阅读全文
posted @
2016-01-18 21:17
PointerSMQ
阅读(1150)
推荐(0)
C++模板元编程 - 函数重载决议选择工具(不知道起什么好名)完成
摘要:这个还是基于之前实现的那个MultiState,为了实现三种类型“大类”的函数重载决议:所有整数、所有浮点数、字符串,分别将这三种“大类”的数据分配到对应的Converter上。为此实现了一些方便的类型运算工厂,比如TypeEqFact,同于生成比较两个类型是否相等的谓词,PredOrFact,用于...
阅读全文
posted @
2015-11-26 22:46
PointerSMQ
阅读(419)
推荐(0)
C++模板元编程 - 挖新坑的时候探索到了模板元编程的新玩法
摘要:C++真是一门自由的语言,虽然糖没有C#那么多,但是你想要怎么写,想要实现什么,想要用某种编程范式或者语言特性,它都会提供。开大数运算类的新坑的时候(又是坑),无意中需要解决一个需求:大数类需要分别实现接受整数和浮点数的构造函数,构造函数中初始化类内保存数据的容器,所有整数的构造方法相同,所有浮点数...
阅读全文
posted @
2015-11-13 22:05
PointerSMQ
阅读(365)
推荐(0)
编译原理 - 1 手撸状态机词法分析器
摘要:感谢vczh轮子叔的坑了的教程,我的编译原理第一次入了个门,词法分析写完了,今后可以看看书继续往下学了。http://www.cppblog.com/vczh/archive/2014/03/02/206014.html词法分析,就是对于一段代码,把他们分割成一个个的token,同时记录他们的行列号...
阅读全文
posted @
2015-10-23 14:49
PointerSMQ
阅读(3565)
推荐(0)
C++模板元编程 - 3 逻辑结构,递归,一点列表的零碎,一点SFINAE
摘要:本来想把scanr,foldr什么的都写了的,一想太麻烦了,就算了,模板元编程差不多也该结束了,离开学还有10天,之前几天部门还要纳新什么的,写不了几天代码了,所以赶紧把这个结束掉,明天继续抄轮子叔的Win32库去。逻辑结构和递归说白了就是做了一个If,一个For_N,If就和Excel里的If一样...
阅读全文
posted @
2015-09-03 20:14
PointerSMQ
阅读(463)
推荐(0)
C++模板元编程 - 2 模仿haskell的列表以及相关操作
摘要:这是昨天和今天写的东西,利用C++的可变模板参数包以及包展开,模式匹配的一些东西做的,感觉用typename...比轮子叔那个List>>的设计要好看不少。List有一个很巧妙的继承,只有那么做才能使用类似于List::Rest的写法,直接定义成templateList是不行的。Change这里可以...
阅读全文
posted @
2015-09-02 21:19
PointerSMQ
阅读(700)
推荐(0)
C++模板元编程 - 1 基本数据类型和运算
摘要:这是博客开通前几天做的,C++的模板没办法存方便的浮点数,算了。基本类型的设计参考了vczh轮子叔模仿boost的MPL的设计。话说template和typename写多了真是无限烦人啊,不得已定义了几个宏,然后运算的定义也是用宏批量生成的。 1 template 2 struct PODType ...
阅读全文
posted @
2015-09-02 18:24
PointerSMQ
阅读(444)
推荐(0)