![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
《C++标准库》
文章平均质量分 94
《C++标准库》
coding-hwz
生前何必久睡
展开
-
《C++标准库》学习笔记 — STL — 并发 — 线程同步与并发 — 条件变量与原子操作
《C++标准库》学习笔记 — STL — 并发 — 线程同步与并发 — mutex 与 lock一、条件变量1、意图2、条件变量的基本使用3、使用条件变量实现消费队列4、细究条件变量二、Atmoic1、使用 Atmoic2、与其他变量共同使用一、条件变量1、意图我们前面介绍的 future 主要用于传递线程的返回值和异常。但是,有时我们需要确保不同线程之间的工作流。我们可以使用一个简单的变量和锁来控制,其带来的结果就是我们需要在线程中轮询该变量的值:bool ready = false;mutex原创 2021-12-11 15:04:12 · 565 阅读 · 0 评论 -
《C++标准库》学习笔记 — STL — 并发 — 线程同步与并发 — mutex 与 lock
《C++标准库》学习笔记 — STL — 并发 — 线程同步与并发一、线程同步与并发并发问题1、出错情况(1)未同步化的数据访问(2)写至半途的数据(3)重新安排的语句2、解决问题需要的特征3、C++并发的支持一、线程同步与并发并发问题1、出错情况(1)未同步化的数据访问并行运行的两个线程分别读和写同一个数据。std:;vector<int> vec;if (!vec.empty()){ std::cout << v.front() << std::end原创 2021-12-08 21:16:27 · 1088 阅读 · 0 评论 -
《C++标准库》学习笔记 — STL — 并发 — 启动线程
《C++标准库》学习笔记 — STL — 并发一、高级接口 async() 和 Future1、实例一、高级接口 async() 和 Futureasync() 提供一个接口,让一个 (caller object) 成为一个独立线程。class future 允许你等待线程结束并获取其结果。1、实例考虑下面的操作:func1() + func2()在单线程中,整体处理时间是 func1() 所花时间加上 func2() 所花时间,再加上计算总和所花时间。如果我们尝试在多线程中实现这样的操作原创 2021-12-03 22:27:26 · 1151 阅读 · 0 评论 -
《C++标准库》学习笔记 — STL — 国际化
《C++标准库》学习笔记 — STL — 国际化一、字符集一、字符集常用的字符集 utf-8 是 unicode 标准的一种实现方案。utf-8 支持带 BOM 的版本。其为 byte order mark 的缩写,用以标识它所使用的是 big-endian 或 little-endian。...原创 2021-11-26 22:31:07 · 1175 阅读 · 0 评论 -
《C++标准库》学习笔记 — STL —流
《C++标准库》学习笔记 — 流一、操控器1、原理2、自定义操控器3、控制输入的宽度一、操控器所谓操控器是一种专门用来操控 stream 的一种对象,通常它只会改变输入的解释方式或输出的格式化方式。带实参的操控器被定义在 文件中,如 setw 等;不带实参的操控器包括 endl、flush。1、原理操控器的实现原理其实是函数指针。在 ostream 中定义了 operator<< 的多种重载,其中包括:__ostream_type& operator<<(__os原创 2021-11-08 21:53:41 · 364 阅读 · 0 评论 -
《C++标准库》学习笔记 — STL — 容器与算法
《C++标准库》学习笔记 — STL一、reverse 迭代器二、Funtion Object这里主要学习一些以前没注意的知识点和用的少的算法一、reverse 迭代器我们可以将正常迭代器转换为反向迭代器。需要注意的是,转换前后的迭代器逻辑位置发生了变化:#include <iostream>#include <vector>using namespace std;int main(int argc, char* argv[]){ vector<int>原创 2021-09-27 11:09:16 · 157 阅读 · 0 评论 -
《C++标准库》学习笔记 — 通用工具 — Clock 和 Timer
《C++标准库》学习笔记一、Chrono 程序库概观二、duration1、duration的算术运算2、Duration 的其他操作3、duration_cast4、rep 和 period三、clock 和 timepoint1、Clock一、Chrono 程序库概观Chrono 程序库的设计,是希望能够处理timer 和 clock在不同系统中可能不同的事实,同时也是为了强化时间精度。为避免像 POSIX 的 tine 程序库那样每十年就引入一个新的时间类型,C++标准库的目标是提供一个精度中立概原创 2021-09-23 11:07:38 · 1205 阅读 · 1 评论 -
《C++标准库》学习笔记 — 通用工具
《C++标准库》学习笔记一、 智能指针1、误用shared_ptr一、 智能指针1、误用shared_ptr我们必须确保同一个指针只被一组 shared_ptr 管理。这里我们列举一个间接破坏此要求的例子:#include <iostream>#include <memory>#include <vector>using namespace std;class Person{public: void setParentsAndTheirKids(s原创 2021-09-22 11:28:50 · 362 阅读 · 0 评论