
c++ 11
文章平均质量分 78
cywosp
这个作者很懒,什么都没留下…
展开
-
C++11 多线程中的call once
转贴请说明出处:http://blog.youkuaiyun.com/cywosp/article/details/8968655 在多线程的环境下,有些时候我们不需要某给函数被调用多次或者某些变量被初始化多次,它们仅仅只需要被调用一次或者初始化一次即可。很多时候我们为了初始化某些数据会写出如下代码,这些代码在单线程中是没有任何问题的,但是在多线程中就会出现不可预知的问题。bool init原创 2013-05-24 10:31:31 · 10933 阅读 · 0 评论 -
整数类型转换成string的几种方法
整数类型转换成string的几种方法 转载请说明出处:http://blog.youkuaiyun.com/cywosp/article/details/8980633 最近遇到了要将整数类型转化成string的问题,网上搜罗了一下,总结了几种方法。如下:方法一:templatestatic size_t Convert (char buf[], const T valu原创 2013-05-27 16:50:51 · 16607 阅读 · 0 评论 -
atomic, spinlock and mutex性能比较
atomic, spinlock and mutex性能比较转载请说明出处:http://blog.youkuaiyun.com/cywosp/article/details/8987593我非常好奇于不同同步原理的性能,于是对atomic, spinlock和mutex做了如下实验来比较:1. 无同步的情况#include #include volatile int value翻译 2013-05-29 08:57:07 · 13327 阅读 · 1 评论 -
基于C++11的阻塞队列简单实现
基于C++11的阻塞队列简单实现 转载请说明出处:http://blog.youkuaiyun.com/cywosp/article/details/9157379 在多线程编程中阻塞队列(Blocking Queue)是一种常用于实现生产者和消费者模型的数据结构。其与普通的队列区别在于,当队列为空时,从队列获取元素的操作将会被阻塞,直到队列中被放入了元素;当队列满时,往队列里存放元素原创 2013-06-23 22:07:29 · 10719 阅读 · 1 评论 -
C++ Pirate: Lambda vs Bind
Lambda 与 Bind的性能比较先让我们看看下面函数:template void do_test_loop(Function func, const uint64_t upper_limit = 1000000000ULL){ for (uint64_t i = 0; i < upper_limit; ++i) func(i);} 该函数翻译 2013-07-19 13:49:32 · 3732 阅读 · 1 评论 -
C++ 11中的随机排列函数shuffle
在Python中我们会经常看到shuffle的随机排列函数,其可以将列表中的内容进行随机排列,但在C++中却需要自己去实现这样功能的函数(c++0x之前)。在c++0x之后这样的功能函数在标准库中已有对应的提供——std::shuffle。下面就对该函数做具体的介绍:template void shuffle (RandomAccessIterator first, Random原创 2014-01-07 14:44:37 · 41689 阅读 · 0 评论