05 2021 档案
摘要:C++ 编程总结 整形和string的相互装换 常见的用法和范围界定见代码 #include<bits/stdc++.h> #include <climits> using namespace std; int main() { //string 2 Integer && Integer 2 str
阅读全文
摘要:gitlab 添加 CICD 什么是CICD CI - 持续集成 开发人员的自动化流程 代码的新更改会定期构建、测试并合并到共享存储库中 可以解决在一次开发中有太多应用分支,从而导致相互冲突的问题 CD - 持续交付 开发人员的更改会自动进行错误测试并上传到存储库(如 GitHub 或容器注册表),
阅读全文
摘要:C extern 关键词分析 原文链接 作用 首先我们区分两个 术语 声明 (declaration) : 仅表示,存在 变量 / 函数,变量的类型 / 函数的参数和返回值,并不分配内存 / 定义实现 定义 (definition) : 除了 声明 的作用外,还为变量分配内存 / 定义函数实现。 声
阅读全文
摘要:shared_future 获得方式 只能由 future 得到 作用 同 future 区别 可以多线程、多次访问 shared state 原理 shared state 指针 + 引用计数 基本函数 构造函数、析构函数和赋值操作等 // valid 情况 1 :false,2 :同参数,且参数
阅读全文
摘要:Future 获得方式 std::async 的返回值 std::packaged_task 的消费方式 std::promise 的消费方式 作用 查询 状态 等待 返回值 获取 返回值 以此配合完成线程同步 原理 shared state 指针 基本函数 构造函数、析构函数和赋值操作等 // 构
阅读全文
摘要:packaged_task 背景 启发于function pointer 采用类似 promise 的设计 方便的获取线程运行结果 原理 生产者 - 消费者模型 基本函数 生产函数,分两步 设置value或者exception 设置shared state // 设置value或者exception
阅读全文
摘要:背景 不想利用async提供的线程模型 还想方便的获取线程运行结果 原理 生产者 - 消费者模型 基本函数 生产函数,分两步 设置value或者exception 设置shared state template <class R&> // 设置value或者exception后,立即将shared
阅读全文
摘要:背景 C++11添加了thread,可以通过std::thread()方便的创建线程 thread不能方便的获取线程运行结果 用法 返回值为std::future(下面会讲到),第一个参数policy,第二个参数为function,可以是lamda template< class Function,
阅读全文