C++

   :: 首页  :: 新随笔  ::  :: 订阅 订阅  :: 管理

2014年6月5日

摘要: 下面的代码模仿gtest实现,主要说明了以下两点:ASSERT_*和EXPECT_*系列断言的原理和作用.gtest是怎样通过宏自动注册测试代码让其自动运行的. 1 #include 2 #include 3 #include 4 #include 5 6 7 #define ASSER... 阅读全文
posted @ 2014-06-05 15:32 xusd-null 阅读(1004) 评论(0) 推荐(2) 编辑

摘要: 阅读全文
posted @ 2014-06-05 15:19 xusd-null 阅读(184) 评论(0) 推荐(0) 编辑

2014年6月3日

摘要: 1. swift初始来源 没有了解过swift可以先参考Brec Victor的Inventing on Principle,Swift编程环境的大部分概念都源自于Brec这个演讲。2. swift是啥Swift是苹果在WWDC 2014发布的新的编程语言,这里引用The Swift Progra... 阅读全文
posted @ 2014-06-03 12:00 xusd-null 阅读(1053) 评论(0) 推荐(0) 编辑

2014年5月30日

摘要: c++11中关于什么是lvalue, 什么是rvalue, 什么是xvalue, 什么是prvalue, 什么是…一直搞得我晕头转向的, 今天下定决心一定要把它搞定, 写了一个程序来判断lvalue, rvalue, prvalue等 1 namespace test{ 2 3 template ... 阅读全文
posted @ 2014-05-30 18:27 xusd-null 阅读(1568) 评论(1) 推荐(0) 编辑

摘要: 1. 什么是SFINAE在C++中有很多的编程技巧(Trick),SFINAE就是其中一种, 他的全义可以翻译为”匹配失败并不是一个错误(Substitution failure is not an error)“. 简单来说他就是专门利用编译器匹配失败的一种技巧.2. 案例比如我们想实现一个通用的... 阅读全文
posted @ 2014-05-30 15:46 xusd-null 阅读(2784) 评论(1) 推荐(1) 编辑

2014年5月2日

摘要: 今天有一同学在群上聊到一个比较好玩的题目(本人看书不多,后面才知是《C++模板元编程》第二章里面的一道习题), 我也抱着试一试的态度去完成它, 这道题也体现了c++模板元编程的基础和精髓: 类型就是数据。题目如下所述:Write a ternary metafunctionreplace_typet... 阅读全文
posted @ 2014-05-02 20:07 xusd-null 阅读(1115) 评论(1) 推荐(0) 编辑

2014年4月29日

摘要: (原文:http://blog.think-async.com/2010/04/bind-illustrated.html)本文解释了bind是如何工作的。为了清晰,我对图中的语法作了一些简化(例如,省略函数调用操作符的参数类型),并且简化了bind的实现.1. bind可以用来将用户提供的需要一个... 阅读全文
posted @ 2014-04-29 12:49 xusd-null 阅读(18572) 评论(4) 推荐(24) 编辑

2014年4月27日

摘要: 这里是最初始的版本,参考https://github.com/cplusplus-study/fork_stl/blob/master/include/bind.hpp 提供了最简洁的实现方式。第一部分是bind的实现代码, 第二部分是测试代码, 对bind的实现代码中有疑问或不明白的,可参考测试代... 阅读全文
posted @ 2014-04-27 11:24 xusd-null 阅读(10706) 评论(3) 推荐(1) 编辑