随笔分类 -  C++

摘要:本人目前项目中用到的设计模式做下总结, 如果错误,麻烦帮忙指出改正; 1. 简单工厂模式, 简单点来说就是工厂可以生产各种类型产品,客户Jungle需要时可以向工厂提供产品参数,工厂根据产品参数生产对应产品,客户Jungle并不需要关心产品的生产过程细节,直接上代码: #ifndef __SIMPL 阅读全文
posted @ 2024-04-11 11:24 蔡头一枚 阅读(18) 评论(0) 推荐(0) 编辑
摘要:1. 文件描述符类型 REG :文件DIR:目录CHR :字符BLK:块设备UNIX:unix域套接字FIFO :先进先出队列IPv4:网际协议 (IP) 套接字 其中, 标准输入STDIN(0)和STDOUT输出(1), STDERR错误(2)为指定的值 2. IO复用模型 (1). select 阅读全文
posted @ 2024-03-22 11:51 蔡头一枚 阅读(33) 评论(0) 推荐(0) 编辑
摘要:网络连接使用UDP,接收码流数据进行处理 //数据结构:typedef struct DispensePkt { unsigned int lenght; unsigned int cntpkt; unsigned int index; unsigned long long pts; char da 阅读全文
posted @ 2024-01-26 17:21 蔡头一枚 阅读(120) 评论(0) 推荐(0) 编辑
摘要:单例模式写法:注意:静态成员使用指针的话,程序退出时无法指针类的析构函数, 在类内添加回收单例的类,析构的时候将该单例对象析构, 就可以了例如:class Singleton{public: static Singleton *getInstance() { if ( m_pInstance == 阅读全文
posted @ 2024-01-26 16:52 蔡头一枚 阅读(15) 评论(0) 推荐(0) 编辑
摘要:#########################RALL机制(将资源的生命周期与对象的生命周期所绑定(构造获取资源/析构释放资源,利用了栈上的变量在离开作用域的时候会析构的特性)RAII的做法是使用一个对象,在其构造时获取对应的资源,在对象生命期内控制对资源的访问,使之始终保持有效,最后在对象析构 阅读全文
posted @ 2024-01-26 16:48 蔡头一枚 阅读(391) 评论(0) 推荐(0) 编辑
摘要:##########################################################std::functionstd::function<> 作用类似函数指针, 可以在以下几个场景:(1). 绑定一个函数(普通函数或者静态函数)#include <functional 阅读全文
posted @ 2024-01-26 16:46 蔡头一枚 阅读(183) 评论(0) 推荐(0) 编辑
摘要:#pragma once #include <stdio.h> #include <iostream> #include <string> #include <vector> #include <list> #include <stdarg.h> #include <pthread.h> #incl 阅读全文
posted @ 2024-01-08 16:26 蔡头一枚 阅读(41) 评论(0) 推荐(0) 编辑
摘要:#include <stdio.h> #include <stdlib.h> #include <string.h> #include <libgen.h> #include <unistd.h> #include <execinfo.h> #include <sys/types.h> #inclu 阅读全文
posted @ 2024-01-08 16:17 蔡头一枚 阅读(318) 评论(0) 推荐(0) 编辑
摘要:#ifndef MYTHREADPOLL_H #define MYTHREADPOLL_H #include <stdio.h> #include <stdlib.h> #include <string.h> #include <vector> #include <deque> #include < 阅读全文
posted @ 2023-12-28 17:22 蔡头一枚 阅读(61) 评论(0) 推荐(0) 编辑
摘要:转载: 【智能指针】shared_ptr基本用法和原理(共享指针)_std::shared_ptr-CSDN博客 阅读全文
posted @ 2023-12-26 18:05 蔡头一枚 阅读(4) 评论(0) 推荐(0) 编辑
摘要:#######################智能指针(智能指针是存储指向动态分配(堆)对象指针的类,用于生存期控制,能够确保在离开指针所在作用域时,自动正确的销毁动态分配的对象,防止内存泄漏)头文件#include <memory>unique_ptr特性 (属性为对象, 而不是指针, 管理指针) 阅读全文
posted @ 2023-12-22 16:49 蔡头一枚 阅读(697) 评论(0) 推荐(0) 编辑
摘要:(1)线程执行处理器调度的基本单位。程序执行过程中的最小单元,由线程ID、程序计数器、寄存器集合和堆栈共同组成。(2)进程 资源分配的基本单位,也可能作为调度运行的单位。进程就是一个程序在一个数据集上的一次动态执行过程。进程一般由程序、数据集、进程控制块三部分组成。我们编写的程序用来描述进程要完成哪 阅读全文
posted @ 2023-12-20 14:11 蔡头一枚 阅读(32) 评论(0) 推荐(0) 编辑
摘要:转载: 【C++ 包装器类 std::atomic 】全面入门指南:深入理解并掌握C++ std::atomic 原子操作 的实用技巧与应用-CSDN博客 阅读全文
posted @ 2023-12-18 17:54 蔡头一枚 阅读(7) 评论(0) 推荐(0) 编辑
摘要://位运算 #define getBit(x,y) (((x) >> (y)) & 0x01) //获取X的第y位的值(0/1) #define setbit(x,y) x|=(1<<y); //将X的第Y位置1 #define clrbit(x,y) x&=~(1<<y); //将X的第Y位清0 阅读全文
posted @ 2023-09-01 09:03 蔡头一枚 阅读(9) 评论(0) 推荐(0) 编辑
摘要:【1】C++类中静态变量理解1)类里static变量特点: 1、属于类本身,不属于对象 2、程序的运行过程中只有一个副本 3、不能在生成对象时初始化,即不能在构造函数中初始化2)类里static变量初始化: 1、类体外进行,变量前不用加static限定符 2、变量前不加访问控制符private、pu 阅读全文
posted @ 2022-08-13 17:47 蔡头一枚 阅读(185) 评论(0) 推荐(0) 编辑
摘要:1. 概述 C++ 11 中的 Lambda 表达式用于定义并创建匿名的函数对象,以简化编程工作。Lambda 的语法形式如下: [函数对象参数] (操作符重载函数参数) mutable 或 exception 声明 -> 返回值类型 {函数体} 可以看到,Lambda 主要分为五个部分:[函数对象 阅读全文
posted @ 2021-05-12 23:08 蔡头一枚 阅读(191) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示