自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

青石玄霄

向内求,拼命提升自己,向外求,跟高人学习

  • 博客(75)
  • 收藏
  • 关注

原创 C++基础

模板

2021-05-27 23:28:19 112

原创 python爬虫

爬虫页面结构<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"/> <title>Title</title></head><body><!-- table 表格 tr 行 td 列 --> <table width="200px" height="200px" bor

2021-10-12 23:34:49 155

原创 python基础

pip isntall -i 国内源#单行注释‘’‘’‘’ 多行注释运算符与流程控制变量List列表 []tuple 元组 ()dict 字典 {}str 字符串boolintfloat类型转换闭坑#打印Truea = Trueb = str(a)print(b)# 列表中无数据,就是Falsea = []print(type(a))b = bool(a)print(b)算数运算符a = 3b = 2# 除 1.5print(a/b)# 取整除

2021-09-05 22:52:48 102

原创 java基础入门

免登陆下载jdk官网F12拿到文件的url类似这种https://download.oracle.com/otn/java/jdk/8u271-b09/61ae65e088624f5aaa0b1d2d801acb16/jdk-8u271-windows-x64.exe将otn替换成otn-pub即可下载

2021-07-28 21:21:37 125

原创 go 反射

反射就是Reflection,是指程序在运行期可以拿到一个对象的所有信息package mainimport ( "fmt" "reflect")func printMeta(obj interface{}) { //pair:<value, type> t := reflect.TypeOf(obj) n := t.Name() k := t.Kind() v := reflect.ValueOf(obj) fmt.Printf("Type:%s Type.n

2021-07-01 23:49:42 70

原创 线程间通信

全局变量通过全局变量进行通信,要对该变量加关键字volatilevolatile(易变的):每次从内存中去读这个值,而不是因编译器优化从缓存的地方读取#include <stdio.h>#include <windows.h> //全局变量volatile int signalNum = 0; DWORD WINAPI threadFuncA(LPVOID lpParamter){ Sleep(2000); if (0 == signalNum) {

2021-06-07 23:04:44 83

原创 IOCP

步骤1、创建完成端口2、创建用于接发数据的工作线程3、创建套接字,侦听套接字,accept返回的套接字与iocp绑定// iocpserver.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <WinSock2.h>#include <Windows.h>#include <vector>#include <iostream>using namespace std;#pr.

2021-06-07 22:04:23 315

原创 两数之和

描述给出一个整数数组,请在数组中找出两个加起来等于目标值的数,你给出的函数twoSum 需要返回这两个数字的下标(index1,index2),需要满足index1 小于index2.。注意:下标是从1开始的假设给出的数组中只存在唯一解例如:给出的数组为 {20, 70, 110, 150},目标值为90输出 index1=1, index2=2输入:[3,2,4],6返回值:[2,3]说明:因为 2+4=6 ,而 2的下标为2 , 4的下标为3 ,又.

2021-06-03 23:53:46 96

原创 反转字符串

描述写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串。输入:"abcd"返回值:"dcba"class Solution {public: /** * 反转字符串 * @param str string字符串 * @return string字符串 */ string solve(string str) { // write code here string newstr

2021-06-03 22:58:21 108

原创 最大公约数

描述求出两个数的最大公约数,如果有一个自然数a能被自然数b整除,则称a为b的倍数,b为a的约数。几个自然数公有的约数,叫做这几个自然数的公约数。公约数中最大的一个公约数,称为这几个自然数的最大公约数。示例输入:3,6 返回值:3思路:假如输入8 ,128 / 12= 0 (余 8)12 / 8= 1(余4)8 / 4 = 216(余0)以除数和余数反复做除法运算,当余数为 0 时,取当前算式除数为最大公约数,所以就得出了 12 和 8 的最大公约数 4。class S..

2021-06-03 22:08:42 156

原创 反转链表

初始化:3个指针1)pre指针指向已经反转好的链表的最后一个节点,最开始没有反转,所以指向nullptr2)cur指针指向待反转链表的第一个节点,最开始第一个节点待反转,所以指向head3)nex指针指向待反转链表的第二个节点,目的是保存链表,因为cur改变指向后,后面的链表则失效了,所以需要保存接下来,循环执行以下三个操作1)nex = cur->next, 保存作用2)cur->next = pre 未反转链表的第一个节点的下个指针指向已反转链表的最后一个节点3)pre = .

2021-06-03 21:51:59 79

原创

C++中可以使用struct、class来定义一个类◼ struct和class的区别struct的默认成员权限是publicclass的默认成员权限是private//class Person {// // 成员变量(属性)// int age;//// // 成员函数(方法)// void run() {// cout << "Person::run()" << endl;// }//};// 语法糖层面、概念层面// classstr

2021-05-31 22:54:54 71

原创 STL容器

vector map list

2021-05-27 23:48:43 61

原创 单例模式

单例模式

2021-05-27 23:42:56 84

原创 static

static

2021-05-27 23:40:54 73

原创 const

const的作用

2021-05-27 23:39:28 374

原创 运算符重载

运算符重载(操作符重载):可以为运算符增加一些新的功能class Point {public: int m_x; int m_y; Point(int x, int y) :m_x(x), m_y(y) {} void display() { cout << "(" << m_x << ", " << m_y << ")" << endl; } Point(const Point &point) {

2021-05-27 22:40:51 123

原创 模板

泛型,是一种将类型参数化以达到代码复用的技术,C++中使用模板来实现泛型模板的使用格式如下template <typename\class T>typename和class是等价的模板没有被使用时,是不会被实例化出来的模板的声明和实现如果分离到.h和.cpp中,会导致链接错误一般将模板的声明和实现统一放到一个.hpp文件中...

2021-05-26 23:58:40 76

原创 智能指针

传统指针存在的问题需要手动管理内存,容易发生内存泄露(忘记释放、出现异常等),释放之后产生野指针智能指针的简单实现

2021-05-26 23:05:44 67

原创 C++类型转换

四种cast转换C++中四种类型转换是:static_cast, dynamic_cast, const_cast, reinterpret_caststaic_cast常用于基本数据类型的转换、非const转成const,对比dynamic_cast,缺乏运行时安全检测,不能交叉转换(不是同一继承体系的,无法转换)const_cast一般用于去除const属性,将const转换成非constconst Person *p1 = new Person();Person *p2 =

2021-05-26 22:51:57 72

原创 基础随机笔记

strlen(str)求字符串的长度,遇到\0是结束计算,不算 \0,但是sizeof算\0const char s2[] = "12345";cout << sizeof(s2) << endl; //算结束符 6cout << strlen(s2) << endl; //不算结束符,所以是5...

2021-05-25 23:53:50 60

原创 内联函数和宏

使用inline修饰函数的声明或者实现,可以使其变成内联函数建议声明和实现都增加inline修饰特点编译器会将函数调用直接展开为函数体代码可以减少函数调用的开销会增大代码体积注意尽量不要内联超过10行代码的函数有些函数即使声明为inline,也不一定会被编译器内联,比如递归函数◼ 内联函数和宏,都可以减少函数调用的开销◼ 对比宏,内联函数多了语法检测和函数特性inline int sum(int x) { return x + x; }#define..

2021-05-25 22:50:59 108

原创 求最小的k个数

给定一个数组,找出其中最小的K个数。例如数组元素是4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。如果K>数组的长度,那么返回一个空的数组方法一:排序直接排序class Solution {public: vector<int> GetLeastNumbers_Solution(vector<int> input, int k) { vector<int> ret; if (k==0

2021-05-20 23:26:55 105

原创 wave封装

wave封装封装结构如下,由3个块组成,也可以说由文件头和数据组成每一个chunk(数据块)都由3部分组成:id:chunk的标识 data size:chunk的数据部分大小,字节为单位 data,chunk的数据部分整个WAV文件是一个RIFF chunk,它的data由3部分组成:format:文件类型 fmt chunk 音频参数相关的chunk 它的data里面有采样率、声道数、位深度等参数信息 data chunk 音频数据相关的chunk 它的da

2021-05-09 20:38:02 146

原创 用两个栈实现队列

static关键字的作用1. 全局静态变量在全局变量前加上关键字static,全局变量就定义成一个全局静态变量.静态存储区,在整个程序运行期间一直存在。初始化:未经初始化的全局静态变量会被自动初始化为0(自动对象的值是任意的,除非他被显式初始化);作用域:全局静态变量在声明他的文件之外是不可见的,准确地说是从定义之处开始,到文件结尾。2. 局部静态变量在局部变量之前加上关键字static,局部变量就成为一个局部静态变量。内存中的位置:静态存储区初始化:未经初始化的全局静.

2021-05-07 21:30:43 78

原创 mac 安装qt

mac环境下一般用过homebrew来安装软件先要配置好homebrew安装qtbrew install qtbrew install --cask qt-creator安装完后qt-creator要配置qt的路径,创建工程编译,可能出现warning: Qt requires at least version 10.13 of the platform SDK, you're using 10.12. Please upgrade.这种情况要么升级系统和xcode,要么降

2021-04-25 22:29:21 1192

原创 友元函数

友元包括友元函数和友元类◼ 如果将函数A(非成员函数)声明为类C的友元函数,那么函数A就能直接访问类C对象的所有成员◼ 如果将类A声明为类C的友元类,那么类A的所有成员函数都能直接访问类C对象的所有成员◼ 友元破坏了面向对象的封装性,但在某些频繁访问成员变量的地方可以提高性能class Point { friend Point add(Point, Point);private: int m_x; int m_y;public: int getX() { return m_x;...

2021-04-12 22:45:47 103

原创 构造函数

拷贝构造函数形式是固定的,参数是const 带 类名的引用Car(const Car& car)拷贝构造函数是利用已存在的对象创建一个新的对象Car car1;Car car2(car1);

2021-04-07 22:49:40 146

原创 菱形继承

2021-03-30 22:58:32 77

原创 虚函数

父类指针可以指向子类对象

2021-03-25 23:02:08 329

原创 接口

package mainimport ( "fmt" "math")type geometry interface { area() float64 perim() float64}type rect struct { width, height float64}type circle struct { radius float64}func (r rect) area() float64 { return r.wid...

2021-03-25 10:34:31 46

原创 python将文件夹内文件拷贝到指定目录并删除原有文件

import osimport shutilimport sysfrom tqdm import tqdmdef copyfile(src_dir, dst_dir): if not os.path.exists(dst_dir): os.makedirs(dst_dir) if os.path.exists(src_dir): for root, dirs, files in os.walk(src_dir): fo.

2021-01-06 00:11:52 438

原创 python 解析pcap数据长度

# -*- coding: UTF-8 -*-import dpktimport collections # 有序字典需要的模块import timedef main(file_path): f = open(file_path, 'rb') #python3 pcap = dpkt.pcap.Reader(f) # 先按.pcap格式解析,若解析不了,则按pcapng格式解析 all_pcap_data = collections.OrderedDict().

2021-01-06 00:09:10 1381 2

原创 docker三要素

容器、镜像、仓库镜像是类,容器是实例对象

2020-09-17 23:17:59 220

原创 FFmpeg切HLS

使用参数ffmpeg -re -i demo.flv -c copy -f hls output.m3u8对应文件夹下会生成m3u8文件和ts文件

2020-09-15 23:50:59 154

原创 M3U8格式

#EXTM3U#EXT-X-VERSION:3#EXT-X-MEDIA-SEQUENCE:35232#EXT-X-TARGETDURATION:10#EXTINF:10.000,cctv6hd-1549272376000.ts#EXTINF:10.000,cctv6hd-1549272386000.ts#EXTINF:10.000,cctv6hd-1549272396000.ts#EXTINF:10.000,cctv6hd-1549272406000.ts#EXTINF:10.00.

2020-09-14 23:59:35 1383

原创 FLV格式

flv为两部分,flv文件头和flv文件内容flv文件头格式解析字段 占用位数 说明 签名字段(Signature) 8 字符“F”(0x46)

2020-09-14 23:38:09 90

原创 记录

https://www.cnblogs.com/niuben/p/12560104.htmlhttps://blog.csdn.net/weixin_44289579/article/details/89358547

2020-09-04 20:23:01 158

原创 稀疏数组

编写的五子棋程序中,有存盘退出和续上盘的功能当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。稀疏数组的处理方法是:1) 记录数组一共有几行几列,有多少个不同的值2) 思想:把具有不同值的元素的行列及值记录在一个小规模的数组中,从而 缩小程序的规模...

2020-08-02 10:43:05 86

原创 使用select解决从管道取数据的阻塞问题

package mainimport ( "fmt" "time")func main() { //使用select可以解决从管道取数据的阻塞问题 //1.定义一个管道 10个数据int intChan := make(chan int, 10) for i := 0; i < 10; i++ { intChan<- i } //2.定义一个管道 5个数据string stringChan := make(chan string, 5) for i := 0.

2020-06-17 22:07:28 493

空空如也

空空如也

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

TA关注的人

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