原文:(原创)用c++11打造好用的any

上一篇博文用c 实现了variant,有童鞋说何不把any也实现一把,我正有此意,它的兄弟variant已经实现了,any也顺便打包实现了吧。其实boost.any已经挺好了,就是转换异常时,看不到详情,和boost.variant一样的问题。实现any比实现variant要简单,需要解决的关键技术是类型擦除,关于类型擦除我之前的博文有介绍,想了解的童鞋点这里。 实现any的关键技术 any能容 ...

2013-11-12 19:21 1 9370 推荐指数:

查看详情

原创)用c++11打造好用的variant

  variant类似于union,它能代表定义的多种类型,允许将不同类型的值赋给它。它的具体类型是在初始化赋值时确定。boost中的variant的基本用法:   用variant一 ...

Sun Nov 10 18:47:00 CST 2013 2 5138
原创)用c++11打造类似于python的range

  python中的range函数表示一个连续的有序序列,range使用起来很方便,因为在定义时就隐含了初始化过程,因为只需要给begin()和end()或者仅仅一个end(),就能表示一个连续的序列 ...

Sat Feb 08 22:35:00 CST 2014 1 2474
C++11——std::any_of()

在本文中,我们将讨论如何将 STL 算法 std::any_of() 与 lambda 函数和函数指针一起使用。 std::any_of 是 C++11 中引入的 STL 算法。 需要 std::any_of() 当您有一个元素范围并且想要检查范围中的任何给定元素是否满足给定条件时 ...

Tue Nov 23 03:06:00 CST 2021 0 6909
delegate委托的C++实现--C++11/14(原创)

熟悉C#的人都清楚delegate,也清楚委托的作用。 实现观察者模式,在C++中的一种做法就是通过接口继承来实现,这无疑大大增加了耦合度。通过delegate变可以解除这种耦合。 下面是上班时间,偷偷实现的一个我的delegate。直接上码: 以下 ...

Fri May 16 06:59:00 CST 2014 0 3285
原创)用C++11的std::async代替线程的创建

  c++11中增加了线程,使得我们可以非常方便的创建线程,它的基本用法是这样的:   但是线程毕竟是属于比较低层次的东西,有时候使用有些不便,比如我希望获取线程函数的返回结果的时候,我就不能直接通过thread.join()得到结果,这时就必须定义一个变量,在线程函数中去 ...

Mon Jan 27 00:40:00 CST 2014 13 37626
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM