
C++
caijizhuo
正在学习的大菜逼
展开
-
C++多线程编程之std::future
介绍了std::future, std::promise, std::async和std::packaged_task的用法。原创 2023-03-24 01:38:53 · 954 阅读 · 0 评论 -
C++虚函数表(转载)
C++虚函数表转载 2023-02-06 16:56:18 · 232 阅读 · 0 评论 -
C++ new和operator new的区别
C++ new 和 operator new的区别原创 2023-02-06 14:37:18 · 181 阅读 · 0 评论 -
半同步/半反应堆线程池实现
#ifndef THREADPOOL_H#define THREADPOOL_H#include <list>#include <cstdio>#include <exception>#include <pthread.h>#include "locker.h"// 线程池类,定义为模板类是为了代码复用,模板参数T是任务类template< typename T >class threadpool{public:原创 2022-05-16 22:27:21 · 309 阅读 · 0 评论 -
c++ 线程池模板
#ifndef PROCESSPOOL_H#define PROCESSPOOL_H#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <assert.h>#include <stdio.h>#include <unistd.h>#include <err原创 2022-05-04 02:38:34 · 256 阅读 · 0 评论 -
不相干进程之间传递文件描述符
#include <sys/socket.h>#include <fcntl.h>#include <stdio.h>#include <unistd.h>#include <stdlib.h>#include <assert.h>#include <string.h>static const int CONTROL_LEN = CMSG_LEN(sizeof(int));// 发送文件描述符,fd参数适用原创 2022-04-04 15:17:24 · 266 阅读 · 0 评论 -
基于共享内存的聊天室服务程序
服务器代码如下:#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <assert.h>#include <stdio.h>#include <unistd.h>#include <errno.h>#include <string.h>#include <fcntl.h>#incl原创 2022-03-17 17:23:32 · 249 阅读 · 0 评论 -
父子进程信号量
#include <sys/sem.h>#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <sys/wait.h>union semun { // 此结构体为semctl系统调用的第四个参数的推荐格式,由sys/sem.h给出 int val; // 用于SETVAL命令原创 2022-03-16 17:14:29 · 327 阅读 · 0 评论 -
基于时间堆的定时器
#ifndef MIN_HEAP#define MIN_HEAP#include <iostream>#include <netinet/in.h>#include <time.h>using std::exception;#define BUFFER_SIZE 64class heap_timer;struct client_data { sockaddr_in address; int sockfd; char buf[B原创 2022-03-10 10:57:58 · 1000 阅读 · 0 评论 -
处理非活动连接
其中依赖的lst_timer.h见上篇文章#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <assert.h>#include <stdio.h>#include <signal.h>#include <unistd.h>#include <原创 2022-03-07 15:40:26 · 416 阅读 · 0 评论 -
【C++虚函数表指针在对象中的结构】
#include <iostream>using namespace std;class parent1{ public: int c; virtual void funcA() { cout << "parent1 funcA"; }; protected: int f; private: int a; int b;};clas原创 2022-03-03 17:32:43 · 403 阅读 · 0 评论 -
【C++ STL】priority_queue自定义排序函数
priority_queue是C++的一种STL容器,实现为堆。在leetcode刷题中非常常用。有些时候我们需要塞入自定义的数据结构。这样就需要对其的排序方式做一个重新定义。假设有以下数据结构struct node { int x; int y;};对比方式为只看x的大小。则对比函数cmp写法如下:#include<iostream>#include<queue>using namespace std;//函数对象类template <typenam原创 2022-02-25 17:30:17 · 2878 阅读 · 0 评论