C++
文章平均质量分 63
WLFIGHTER
这个作者很懒,什么都没留下…
展开
-
c++ lamda表达式的注意事项
c++ lamda表达式使用的注意事项:延迟调用问题原创 2016-01-10 17:14:33 · 1513 阅读 · 0 评论 -
c++ 11 lamda表达式语法整理
C++11 lamda表达式语法整理基本语法[捕获列表] (参数列表) 可选项 -> 返回值类型 {函数实现;};捕获列表[] 不捕获变量,见f1,f2 [val] 见f3 [=] 按值捕获全部变量,见f4 [&] 按引用捕获全部变量,见f6 [this] 获取this指针,在函数内可以使用和修改类的成员变量,见Test [=,&val] 按值捕获除val外的所有变量,按引用捕获val,见原创 2016-01-10 11:52:58 · 1856 阅读 · 0 评论 -
C++11 auto关键字介绍
在C++11中,auto关键字负责提示编译器对变量的类型进行自动推导。使用auto关键字能够增加代码的灵活度,减少代码的书写量。本文介绍了auto关键的注意事项,使用场景和推导规则.原创 2015-12-27 16:09:16 · 6031 阅读 · 0 评论 -
boost::shared_ptr的线程安全
官方文档的说明shared_ptr objects offer the same level ofthread safety as built-in types. A shared_ptr instance can be "read"(accessed using only const operations) simultaneously by multiple threads.Differe原创 2015-12-06 16:48:10 · 3320 阅读 · 1 评论 -
C++ vector resize 和 reserve的区别
resize 调整的是vector的大小,改变的是vector的size;如果resize的调整值小于vector的size,则会删除多余的元素;如果大于size,则增加元素。reserve 调整的是vector的预分配的内存,改变的是vector的capacity。如果reserve的调整值大于vector的capacity,则会增加预分配的内存;如果小于capacity,则不做任何改变。原创 2015-12-01 20:12:28 · 1218 阅读 · 0 评论 -
使用C++ 11 实现阻塞队列
阻塞队列介绍阻塞队列主要用于线程和线程之间的通信。当队列为空时,从队列中获取元素的线程将会被挂起;当队列是满时,往队列里添加元素的线程将会挂起。本文使用C++ 11中的多线程库,实现了一个带有最大容量的阻塞队列。代码使用Visual C++ 2015编写。阻塞队列的实现代码 BlockQueue.hpp#pragma once#include #include #原创 2015-08-17 20:53:26 · 6722 阅读 · 4 评论 -
Sleeping Barber Window版本实现
介绍:题目来自于开源力量(www.osforce.cn) C语言进阶课程 具体如下:一间理发店有3位理发师,理发店有沙发,最多坐10人。3个理发师是三个线程,没有客人时,理发师睡觉。客人上门时,理发师醒过来服务客人。如果理发师都在忙,客人则坐到沙发上等待,如果沙发满了,客人直接离开。收到关门信号的时候,沙发上的客人直接离开,对于服务到一半的客人,理发师要帮他们剪完头发。原创 2015-07-18 13:55:50 · 668 阅读 · 0 评论 -
关于c++智能指针share_ptr的引用问题
做了个实验,弄明白了const share_ptr<T>的引用和share_ptr<const T>的引用的区别原创 2015-04-15 21:04:19 · 1200 阅读 · 0 评论