自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 收藏
  • 关注

原创 makefile 进阶

【代码】makefile 进阶。

2024-05-24 12:17:47 291

原创 设置消息队列的资源限制

【代码】设置消息队列的资源限制。

2024-03-17 14:22:26 123

原创 QT5信号函数的绑定方式

【代码】QT5信号函数的绑定方式。

2024-03-16 20:39:03 470

原创 wireshark过滤和tcpdump抓包指令

【代码】wireshark过滤和tcpdump抓包指令。

2024-03-01 22:09:23 169

原创 Linux下各种字符编码进行转码

支持各种编码相互转换 具体 iconv --list 可以查看 支持的转码格式。

2023-11-29 19:00:10 443

原创 一个基本的http客户端

【代码】一个基本的http客户端。

2023-11-20 22:07:08 214

原创 Linux 下的消息队列(posix和system)

Linux 下的消息队列(posix和system)

2023-02-25 23:03:54 260

原创 两个简单的makefile

两个简单的makefile

2023-01-31 23:05:00 282

原创 一些简单的递归以及使用递归解决汉诺塔问题

一些简单的递归以及使用递归解决汉诺塔问题

2023-01-29 22:49:59 91

原创 c++ 简单实现类的反射

一个简单的使用宏在预处理阶段实现类反射的功能

2022-12-18 23:34:44 125

原创 base64编解码(openssl和c语言2种实现方式)

base64编解码(openssl和c语言2种实现方式)

2022-12-11 12:15:50 1005

原创 线程池1.0和any类

线程池

2022-10-30 21:09:17 148

原创 静态库和动态库 制作和使用详解

编译并链接动态静态 -简单教程01

2022-09-15 00:47:12 213

原创 将window目录挂载到Linux目录下

将window目录挂载到Linux目录下

2022-08-15 23:29:16 456

原创 利用lambda find_if实现map通过value 寻找打印所有的key

利用lambda find_if实现map通过value 寻找打印所有的key

2022-08-14 23:11:25 422

原创 01 设计模式模板方法模式

01 设计模式模板方法模式

2022-08-14 21:45:57 229

原创 结构体数组与函数回调(指派初始化)

结构体数组

2022-08-11 23:29:20 126

原创 可变参数模板实现max(接受多个参数,两种实现方式)

可变参数模板实现max(接受多个参数,两种实现方式)

2022-06-21 23:27:17 246

原创 观察者模式

观察者模式包含如下角色:Subject: 目标ConcreteSubject: 具体目标Observer: 观察者ConcreteObserver: 具体观察者代码实现 用智能指针作为封装

2022-06-20 00:08:03 90

原创 深入应用C++11之std::chrono(c++的时间库)

通过函数+注释来解释,chrono库的基本用法

2022-06-13 22:45:51 4527

原创 c++ complex 实现

整理 侯捷老师的complex 的实现

2022-06-12 20:02:12 465

原创 c++ template之继承 多态

c++模板不同的继承和多态总结

2022-06-12 19:59:15 386

原创 c++ template 之函数模板、类模板之简化版array

总结之前学习的c++ template,直接看代码及注释即可

2022-06-06 00:10:51 160

原创 modern c++ traits

modern c++ 学习

2022-06-04 08:54:52 99

原创 c++提供的4种类型转换

看代码注释即可#include <iostream>class A{public: virtual void func() { std::cout << "I'm A" << std::endl; }};class B :public A{public: virtual void func() { std::cout << "I'm B" << std::endl; }};/************

2022-05-29 22:39:41 156

原创 lambdas表达式详细使用

结合侯捷老师的视频 和cpprefenrence 所写的测试和用法逐个运行 即可了解其用法#include <iostream>#include <set>using namespace std;void test(){ [] { cout << "hello lambda" << endl; }(); //print hello auto l = [] { cout << "hello lambda" <

2022-05-04 22:56:14 522

原创 智能指针之unique_ptr 详细使用大全

#include <iostream>#include <memory>#include <vector>using namespace std;class Point{public: Point(int x = 0, int y = 0) :m_x(x), m_y(y) { cout << "constructor " << m_x << endl; } Point(const Point& .

2022-05-03 23:43:56 1546

原创 c++无参构造函数(栈和堆的区别)

#include <iostream>using namespace std;class Test{public: Test() { cout << "T constructor" << endl; } ~Test() { cout << "T destructor" << endl; } };Test t2(){ Test *p3 = new Test; cout << "t2 funct.

2022-05-02 20:06:55 929

原创 指针数组和数组指针的说明及使用

#include <iostream>#include <string>using namespace std;void print(int p2[][3]){ for (int i = 0; i < 2; ++i) { for (int j = 0; j < 3; ++j) { cout << p2[i][j] << " "; } cout << endl; }}void print2(int(*p.

2022-05-02 10:39:08 184

原创 c++ 关键字 explicit

C++11之前只可以用与防止单个参数(泛指,因为多个参数在使用默认实参时也可以认为是单个参数) ,使用于构造函数 防止其进行隐式转换class Myclass {public: explicit Myclass(int r, int im = 0) :m_r(r),m_im(im) {} void print() { cout << "m_r = " << m_r << ";m_im = " << m_im << endl;

2022-03-11 20:32:08 732

原创 c++各类变量的生存周期、初始化和消亡顺序(复合、委托、构造)

先构造的后析构

2022-02-05 20:04:14 600

原创 各类的构造函数

构造函数,复制构造函数,类型转换构造函数

2022-02-05 20:02:59 341

原创 jsoncpp的使用(组装和解析报文)

安装sudo apt-get install libjsoncpp-dev使用

2022-02-05 20:01:33 726

原创 条件变量之生产者与消费者

head.h#ifndef HEAD_H#define HEAD_H#include <stdio.h>#include <unistd.h>#include <pthread.h>#include <errno.h>#include <string.h>#include <stdlib.h>typedef struct{ int resource; pthread_mutex_t lock;

2022-01-17 23:48:23 250

原创 工厂模式(简单工厂模式,抽象工厂模式)

1.简单工厂模式利用多态来实现简单工厂模式(继承,纯虚函数)下方例子展示不同面积的计算1.1.父类(仅实现头文件即可,用纯虚函数,析构函数设置为虚函数)#ifndef AREA_H#define AREA_H#include <iostream>using namespace std;class Area{public: virtual void showArea() = 0; virtual float calcuArea() = 0; virtual ~

2022-01-16 23:47:34 194

原创 stdarg可变参数

#include <stdarg.h>#include <stdio.h>int sum(int args, ...);int sum(int args, ...) { // 三个圆点为占位符 int i = 0; int sum = 0; va_list vap;//定义参数列表 va_start(vap, args);//初始化参数列表,args为第一个参数的名字 代表了多少个 for (i = 0; i < args; ++i) { sum += .

2022-01-03 11:01:45 521

原创 2.4随机数生成(整数、长整形、浮点数)

1.整数(rand、srand)#include <stdio.h>#include <stdlib.h>int main(){ int i, j, k; srand((int)time(NULL)); for (i = 0; i < 10; ++i) { j = 1 + (int)(10.0*rand() / (RAND_MAX + 1.0));//生成1-10的整数 printf("%d ", j); } printf("\n"); fo

2022-01-02 23:08:07 671

原创 回调函数:函数指针的使用(函数指针不同的定义调用、typedef的使用,万能指针void*的使用)

1.函数指针的两种定义方式及调用#include <stdio.h>int add(int a, int b){ return a + b;}int main(){ int(*p)(int a, int b) = NULL;//定义函数指针 int(*p1)(int, int) = NULL;//形参可以省略,定义函数指针 p = add;//指向 p1 = add; int sum = (*p)(3, 4);//调用 int sum1 = p1(3, 4);//

2022-01-02 22:10:35 804

原创 02回声服务端与客户端(瑕疵版)

产生问题的原因是TCP不存在数据边界(粘包问题)client.c#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <arpa/inet.h>#include <sys/socket.h>#define BUF_SIZE 1024void serErr(const char *message);i

2021-12-26 22:10:52 1331

原创 01 实现一个最基本的客户端与服务器

client.c#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <arpa/inet.h>#include <sys/socket.h>void serErr(const char *message);int main(int argc,char *argv[]){ int serSock

2021-12-26 22:02:28 899

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除