2018年5月18日
摘要: // clang++ 3.5 // maybe gcc 4.9 support it, but I don't test it #include int main() { auto fac = [&](auto&& self, int x)->int{ return x template struct wrapper_type { Functor functor... 阅读全文
posted @ 2018-05-18 19:53 月落无影 阅读(209) 评论(0) 推荐(0) 编辑
  2018年5月17日
摘要: C++标准库是日常应用中非常重要的库,我们会用到C++标准库的很多组件,C++标准库的作用,不单单是一种可以很方便使用的组件,也是我们学习很多实现技巧的重要宝库。我一直对C++很多组件的实现拥有比较强的兴趣。最近花了一些时间,查看了C++中function类的实现,将其中的要点,写在这里(这里只介绍 阅读全文
posted @ 2018-05-17 00:05 月落无影 阅读(1274) 评论(0) 推荐(0) 编辑
  2018年5月6日
摘要: folly无锁队列是facebook开源的一个无所队列,使用的是单向链表,通过compare_exchange语句实现的多生产多消费的队列,我曾经花了比较多的时间学习memory_order的说明,对release-acquire语义,自认为还是比较了解。如果一个atomic对象使用std::mem 阅读全文
posted @ 2018-05-06 23:36 月落无影 阅读(1137) 评论(0) 推荐(0) 编辑
摘要: C++ Programming Language 4th中的Calculator源代码整理,因为在C++ Programming Language中,涉及了很多文件位置之类的变化,所以,这里只是其中的一个版本: error.h Table.h Lexer.h Parser.h Driver.h Er 阅读全文
posted @ 2018-05-06 13:02 月落无影 阅读(422) 评论(0) 推荐(0) 编辑
摘要: C++可以根据传入的函数指针,获取自己需要的参数类型,然后根据参数源中获取需要的参数,这里我用tuple作为演示,不过,只要可以根据序号,或者顺序方式等获取实参,都可以使用类似的方式实现: 先给出一个辅助函数: 下面给出实际的实现函数: 下面是测试用例: 通过使用lambda表达式,我们可以很方便的 阅读全文
posted @ 2018-05-06 12:52 月落无影 阅读(685) 评论(0) 推荐(0) 编辑
摘要: wxWidgets是一个比较常用的UI界面库,我曾经试着使用wxWidgets写一个UI编辑工具,在此期间,学习了一些wxWidgets的知识。我对wxWidgets的绑定(Bind)比较好奇,想知道,wxWidgets是如何知道,我Bind的函数,是需要什么参数,所以查看了一些源代码,这里,将了解 阅读全文
posted @ 2018-05-06 12:39 月落无影 阅读(1095) 评论(0) 推荐(0) 编辑
  2018年5月2日
摘要: 我知道,对于存在虚函数的基类,一般需要将基类的析构函数定义为虚函数,从而实现资源的合理释放,而且我也知道派生类在重载时,只需要清理自己的对象,不过,有时候还是会有些疑惑感,所以写了一个简单的例子,来消除疑惑。下面是实例内容: 下面是调用的地方的代码: 这种情况下,会执行正确的清理操作: 这种情况下, 阅读全文
posted @ 2018-05-02 10:29 月落无影 阅读(7734) 评论(0) 推荐(0) 编辑
  2018年4月17日
摘要: Windows和POSIX中都提供了自旋锁,我们也可以通过C++11的atomic来实现自旋锁。那么两者性能上面是什么关系?先引入实现代码: 下面给出一个简单测试,两组线程,一组用来插入,另外一组用来取出。测试结果显示: (1)无论是Windows,还是POSIX提供的C语言版本的自旋锁,都和C++ 阅读全文
posted @ 2018-04-17 23:47 月落无影 阅读(889) 评论(0) 推荐(0) 编辑
  2018年4月13日
摘要: 源代码: 实现代码: 上面只是自己随便写的关于模板元编程的简单例子,可以用在希望在堆栈上创建数组的情况下,用来简化使用。 阅读全文
posted @ 2018-04-13 14:28 月落无影 阅读(298) 评论(0) 推荐(0) 编辑
  2018年4月12日
摘要: 简单实现: 简单使用: 在这里记下来,需要的时候,可以看一下。 阅读全文
posted @ 2018-04-12 11:43 月落无影 阅读(213) 评论(0) 推荐(0) 编辑