
C++STL
princeteng
这个作者很懒,什么都没留下…
展开
-
leetcode多线程合集
1114. 按序打印与1116题类似,使用condition_variable.class Foo {public: Foo() { } mutex mtx; atomic<int> g{1}; condition_variable cv; void first(function<void()> printFirst) { unique_lock<mutex> lck(mtx);原创 2020-10-04 19:50:00 · 467 阅读 · 0 评论 -
C++的构造函数和赋值运算符们/移动构造函数
C++都有哪些构造函数?普通的构造函数、拷贝构造函数、移动构造函数、委托构造函数。#include <iostream>using namespace std;class A{public: int x, y; //默认构造函数 A() {} //带参数的构造函数 A(int x) : x(x) { cout << "constructor" &l...原创 2020-04-20 20:47:22 · 228 阅读 · 0 评论 -
shared_ptr的实现
自己实现一个shared_ptr,比较简洁,只是有个样子罢了。template<typename T>class shared_ptr{private: T* _ptr; int* _pcnt;public: shared_ptr(T* p) : _ptr(p), _pcnt(new int(1)) {} //拷贝构造函数 shared_ptr(co...原创 2020-04-20 19:04:47 · 226 阅读 · 0 评论 -
C语言如何实现封装继承和多态
1. 封装成员变量比较好说,关键是成员函数怎么办?C中的结构体如何放一个成员函数呢?答:可以使用函数指针。typedef struct Base{ int a; void (*print)(struct Base* this);}Base;//模仿基类构造Base* baseCtor(int a) { Base* this = (Base*)malloc(sizeof(Base...原创 2020-03-25 16:48:11 · 601 阅读 · 0 评论 -
c++优先队列(priority_queue)用法详解
参考博客:c++优先队列(priority_queue)用法详解版权声明:本文为优快云博主「吕白_」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.youkuaiyun.com/weixin_36888577/article/details/799378861.构造和队列基本操作相同:top 访问队头元素empty 队列...转载 2020-03-02 10:50:36 · 136 阅读 · 0 评论 -
STL——stringstream
参考:STL之Stringstream字符串流使用总结1.stringstream头文件<sstream>继承关系:使用示例:// swapping ostringstream objects#include <string> // std::string#include <iostream> // std::cout#in...原创 2020-02-29 12:54:42 · 351 阅读 · 0 评论 -
C++多线程——读写锁shared_lock/shared_mutex
主要参考APUE以及std::shared_mutex1. 何为读写锁相比互斥锁,读写锁允许更高的并行性,互斥量要么锁住状态要么不加锁,而且一次只有一个线程可以加锁。读写锁可以有三种状态:读模式加锁状态;写模式加锁状态;不加锁状态;只有一个线程可以占有写模式的读写锁,但是可以有多个线程占有读模式的读写锁。读写锁也叫做“共享-独占锁”,当读写锁以读模式锁住时,它是以共享模式锁住的...原创 2020-01-13 11:19:49 · 30897 阅读 · 8 评论 -
C++多线程——条件变量condition_variable
基本翻译std::condition_variable-cplusplus加参考std::condition_variable-cppreference其他博客。1.condition_variable概述condition_variable 类是同步原语,能用于阻塞一个线程,或同时阻塞多个线程,直至另一线程修改共享变量(条件)并通知 condition_variable 。当其wait f...原创 2020-01-12 20:05:26 · 963 阅读 · 0 评论 -
explicit
在C++程序中很少有人去使用explicit关键字,不可否认,在平时的实践中确实很少能用的上。再说C++的功能强大,往往一个问题可以利用好几种C++特性去解决。但稍微留心一下就会发现现有的MFC库或者C++标准库中的相关类声明中explicit出现的频率是很高的。了解explicit关键字的功能及其使用对于我们阅读使用库是很有帮助的,而且在编写自己的代码时也可以尝试使用。既然C++语言提供这种特性...转载 2020-01-10 17:13:38 · 154 阅读 · 0 评论 -
STL源码剖析之:deque、stack、queue
STL源码剖析——deque的实现原理和使用方法详解STL源码剖析】第四章 序列式容器 之 deque底层实现这个有点厉害,不过没看完。。STL中的deque及源码实现 std::deque核心为内存管理,对不连续的缓冲区的管理。...原创 2019-12-06 16:41:06 · 263 阅读 · 0 评论 -
STL迭代器
参考文章:C++ traits技术C++traits技术的理解《STL源码剖析》学习之traits编程【STL源码剖析】迭代器原创 2019-12-06 16:28:43 · 114 阅读 · 0 评论 -
std::accumulate
#include <functional>accumulate形式有两种:template <class InputIterator, class T> T accumulate (InputIterator first, InputIterator last, T init);或者:template <class InputIterator, cla...原创 2019-11-08 11:01:13 · 260 阅读 · 0 评论