![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编程语言
programming language
问君陈
技术驱动 迎难而上 随机应变
展开
-
c++智能指针 shared_ptr weak_ptr unique_ptr 语法 使用 实现
c++最开始设计没有考虑gc(garbage collection)机制,后续c++11推出后STL标准库中增加了三个智能指针类,合理运用下可以让c++程序员摆脱忘记delete或者free的困扰shared_ptr原理是引用计数,用于指针需要被传递复制的时候weak_ptr主要就是为了配合shared_ptr防止出现循环引用(两个对象各持有各自的shared_ptr, 都无法先释放),...原创 2020-11-22 14:43:16 · 223 阅读 · 0 评论 -
c++优先队列 priority_queue 二叉堆 最大堆实现
文章目录前言一、priority_queue使用方式1.初始化方式2.成员函数二、 二叉堆的实现原理二、自己实现的priority_queue 最大堆代码前言c11 stl中提供优先队列的数据结构,可以实现最大堆和最小堆一、priority_queue使用方式1.初始化方式std::prioriry_queue<int> tmp; //默认最大堆std::priority_queue<int, vector<int>, std::greater<int原创 2020-11-16 15:32:07 · 351 阅读 · 0 评论 -
c++ next_permutation 下一个排列 全排列
文章目录一、next_permutation二、使用步骤三、next_permutation实现代码一、next_permutationnext_permutation是stl按照字典序获取下一个排列的函数,常与vector搭配使用二、使用步骤2.1 获取下一个排列#include <iostream>#include <algorithm>#include <vector>using namespace std;int main() { .原创 2020-11-07 23:37:45 · 983 阅读 · 0 评论 -
c++ 字符串分割
作为一名c++程序员,经常遇到的一件尴尬事件就是c++没有一个专门用来字符串分割的函数,每次都要调用组合技,这里总结一下几种方法1.利用string的 find && substr#include <iostream>#include <string>#include <vector>using namespace std;void mysubstr() { string tmp("0.0..0.0."); vector&原创 2020-11-01 22:30:19 · 1277 阅读 · 8 评论