神奇的c++
文章平均质量分 57
three trees
三木无林,却以成森
展开
-
std::asio小记
个人理解asio是一个异步库,提供了支持函数异步执行的能力。注:asio是proactor模式,在linux上没有现成的io复用可以支持asio。所以asio在Linux上是通过在epoll外封装一层来实现相关功能。在Linux上的实现原理asio本质上,是通过把函数进行封装,然后放入内部维护的队列中,然后在通过run方法从队列中取值,来达到异步的效果。当然内部也是对于多线程进行了支持,在多线程下,安全的访问内部队列。...原创 2021-11-21 18:56:17 · 698 阅读 · 0 评论 -
auto [] 结构化绑定
c++17中的结构化绑定例1:通过结构化绑定对map中的pair对重命名int mp <int, int> mp;for(auto &[k, v] : mp) cout << k << " " << v << endl;例2:利用结构化绑定对f()返回的结构体node内部元素进行重命名struct node{ int a, b;};struct node f(){....}auto [x, y] = f();原创 2020-06-15 16:32:04 · 1364 阅读 · 0 评论 -
模拟c++优先队列实现(模板+仿函数)
优先队列我们知道c++的优先队列是priority_queue。这个容器的底层逻辑是堆。对于基本数据类型,我们有:priority_queue <int, vector <int>, less <int> > max_q;//大根堆priority_queue <int, vector <int>, greater <int> > min_q;//小根堆模板+仿函数实现#include<bits/stdc++.h&g原创 2020-06-07 23:31:41 · 579 阅读 · 0 评论 -
Makefile 与 linuxc
为什么要学习Makefile在面临多个cpp的编译时,遇到了困难,而Makefile可以解决这一问题。Makefile与Linuxc本文在linux环境下学习(centos7)要求系统安装了make,gcc-c++未安装的话:sudo yum install -y make gcc-c++一个c++项目一般有以下几个文件目录:bin:运行文件目录incl:头文件目录src:源...原创 2020-04-04 23:07:05 · 122 阅读 · 0 评论 -
c++ const 与 指针
无指针情况我们知道const通常是修饰一个只读变量。即该变量只允许被读取不允许被修改。形如:int const a;const int b;我们知道a与b都是只读变量。故我们可以知道在无指针的情况下,const的位置对变量的性质无影响。有指针情况形如:int const * p;//(1)int * const p;//(2)(1)*p无法修改,但p可以修改(2)p无法修...原创 2020-02-16 15:47:34 · 121 阅读 · 0 评论 -
函数模板
根据提供的类型返回相应的类型templae<typename T>C++模板原创 2019-04-16 19:15:15 · 77 阅读 · 0 评论 -
std::lower_bound与std::set::lower_bound
在使用set的前提下,std::set::lower_bound更快原创 2019-05-14 15:24:21 · 228 阅读 · 0 评论