c++
朱家小旺
这个作者很懒,什么都没留下…
展开
-
多线程编程
一、两个线程交替打印#include<thread>#include<iostream>#include<mutex>#include<condition_variable>using namespace std;mutex data_mutex;condition_variable data_var;bool flag = true;void printA(){ while(1){ unique_lock<m转载 2021-07-27 10:08:49 · 139 阅读 · 0 评论 -
条件变量实现生产者消费者模型
#include <iostream>#include <thread>#include <vector>#include <mutex>#include <time.h>#include <Windows.h>#include <condition_variable>using namespace std;mutex mtx;condition_variable consume;//定义消费工厂,生转载 2021-07-23 22:38:19 · 151 阅读 · 0 评论 -
华为2021软件精英挑战赛思路分享
一、前言此次是第一次参加华为软件精英挑战赛,前几届实验室师兄都有参加这个比赛并都取得不错的成绩。通过这次比赛学到了很多,小到c++基本语法,大到算法的分析建模过程,都得到极大锻炼。也通过比赛明白了优秀的算法工程师和开发工程师为什么得到各个大厂的疯抢,好的算法思维能为一个企业带来的潜在价值不可估量。整个比赛赛题有三个(技术还不够强,没能进入决赛,看了决赛的赛题采用分组对抗,很有意思),风别是预赛、正式赛和复赛,各个赛题变化不大,在github上传了复赛赛题及数据集,初赛预赛的时候花了很多时间,最终排名.原创 2021-06-08 19:12:36 · 1789 阅读 · 0 评论 -
智能指针简单实现
基于引用计数的智能指针简单实现#include <iostream>using namespace std;template<class T>class SmartPtr{public: SmartPtr(T *p); ~SmartPtr(); SmartPtr(const SmartPtr<T> &orig); // 浅拷贝 SmartPtr<T>& operator原创 2021-04-21 15:33:39 · 107 阅读 · 0 评论 -
Socket的基本操作函数socket()、bind()、listen()、connect()、accept()、recv()、send()、select()、close()
文章目录 Socket的基本操作函数1、socket()函数1.1、 命名socket网络字节序与主机字节序: 2、bind()函数3、listen()、connect()函数4、accept()函数5、recv()、send()等函数同步Socket的send函数的执...原创 2021-02-23 00:12:57 · 10123 阅读 · 0 评论 -
c++内存管理第二讲 标准库的::allocator(一)
https://blog.csdn.net/guangcheng0312q/article/details/100614397cookie是记录分配内存的大小,当使用容器,所有分配的内存一样大就可以去掉;G4.9结构g4.9的**__pool_alloc是我们在容器中使用的分配器**.而普通的allocator,则是通过operator new 与operator delete调用malloca与free.其实没有什么特殊设计.测试一下:采用__gnu_cxx::pool_alloc<原创 2020-12-02 17:09:09 · 383 阅读 · 0 评论 -
C++内存管理----第一讲(二)
第一个版本例子如下,在Scream类中重载operator new和operator delete,这种设计引发多耗用一个next指针,该类原本只有一个int类型占4个字节,引入next指针后占8个字节。下页的程序是是对上面类的一个检验,首先输出一个类的实例的大小,发现确实为8,然后创建一个大小为100的指向Screen的指针数组,然后new一百次并赋给指针,打印前10个指针的地址,可以发现每两个相邻指针间隔为(说明重载后的new确实减少了原来operator new的coiks,相对右边的结果。在原创 2020-12-02 14:28:05 · 157 阅读 · 0 评论 -
c++内存分配(new,operator new,placement new)
本文主要讲述C++ new关键字和operator new, placement new之间的种种关联,new的底层实现,以及operator new的重载和一些在内存池,STL中的应用。一. new operator 和 operator newnew operator:指我们在C++里通常用到的关键字,比如A* a = new A;**operator new:**它是一个操作符,并且可被重载(类似加减乘除的操作符重载)关于这两者的关系,我找到一段比较经典的描述(来自于www.cplusplus转载 2020-10-06 22:28:47 · 205 阅读 · 0 评论