C++11
不死奇迹
和一群有趣的灵魂,享受有趣的故事
展开
-
C++右值引用(std::move)的使用场景
转载自知乎: https://zhuanlan.zhihu.com/p/94588204std::move的使用场景原创 2020-09-23 17:05:23 · 2850 阅读 · 0 评论 -
C++11线程的detach与join方式运行的区别
一、join方式运行代码如下:#include <iostream>#include <thread>void TestFun(){ for (int i = 0; i < 4; i++) { std::cout << "child thread" << std::endl; }}int...原创 2020-03-17 09:43:40 · 707 阅读 · 0 评论 -
c++11 实现条件变量以及利用条件变量实现多生成者与多消费者模型
自定义条件变量类:#pragma once/// <summary>/// 用C++11实现跨平台的条件等待类/// </summary>#include<functional>#include<condition_variable>#include <mutex>class LanWaitCondition{public: LanWaitCondition(); ~LanWaitCondition();原创 2020-05-31 19:41:40 · 528 阅读 · 0 评论 -
带你玩转C++11 lambda表达式
/lambda表达式原理描述*表达式: [外部变量捕获列表(使用“逗”号隔开)] (形参定义列表(使用“逗”号隔开))-> 返回值类型 {函数体;};捕获列表:lambda表达式的捕获列表精细控制了lambda表达式能够访问的外部变量,以及如何访问这些变量1) []不捕获任何变量2) [&]捕获外部作用域中所有变量,并作为引用在函数体中使用(按引用捕获)3)[=]捕获外部作用域中的所有变量,并作为副本在函数体中使用(按值捕获)4) [=, &foo]按值捕获外部作用域中所有原创 2020-05-18 19:42:15 · 158 阅读 · 0 评论 -
C++11 生成当前时间戳
//需要加的头文件#include <chrono>#include <sstream> std::chrono::time_point<std::chrono::high_resolution_clock> now = std::chrono::high_resolution_clock::now(); long long tmp = now.time_since_epoch().count(); std::os原创 2020-05-09 18:35:18 · 1276 阅读 · 0 评论 -
C++11 使用可变参数模板类实现对象池
对象池模板类:#pragma once#include "CObjInstance.h"#include <mutex>#include <vector>#include <map>/// <summary>/// 实现模板类型对象池,使其可以适配任何类类型且是线程安全的!!!/// </summary>templat...原创 2020-04-30 13:15:32 · 381 阅读 · 0 评论 -
C++11实现可变参数模板类封装
#include <memory.h>/// <summary>/// 对象池中的对象的模板类/// </summary>template<class T>class CObjInstance{public: /// <summary> /// 重载new操作符 /// </summary&g...原创 2020-04-29 16:50:12 · 597 阅读 · 0 评论