___Blue_H
码龄8年
关注
提问 私信
  • 博客:825,612
    825,612
    总访问量
  • 153
    原创
  • 1,568,853
    排名
  • 368
    粉丝
  • 1
    铁粉

个人简介:0和1的世界简单一点

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广西
  • 加入CSDN时间: 2017-02-24
博客简介:

程序人生

博客描述:
不想被定义,所以要编程
查看详细资料
个人成就
  • 获得585次点赞
  • 内容获得106次评论
  • 获得2,185次收藏
  • 代码片获得184次分享
创作历程
  • 18篇
    2019年
  • 86篇
    2018年
  • 52篇
    2017年
成就勋章
TA的专栏
  • 算法&数据结构
    30篇
  • 学习笔记
    81篇
  • 题目
    17篇
  • c/c++
    50篇
  • Python
    1篇
  • 操作系统
    21篇
  • Linux
    23篇
  • 计算机网络
    24篇
  • 密码学
    1篇
  • 数据库
    2篇
  • Go
    8篇
  • 音视频
    1篇
兴趣领域 设置
  • 大数据
    mysqlredis
  • 后端
    架构
  • 服务器
    linux
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

C++拷贝构造函数

定义拷贝构造函数(copy constructor),又称复制构造函数,是在基于同一个类的其他对象进行构造的时候(赋值初始化、参数传递、返回值)被编译器调用的一种特殊构造函数。假设有一个类类型为T,拷贝构造函数的第一个形参必须是该类类型的引用,(即T&)也可以用cv限定符来修饰(const T&、volatile T&或const volatile T&),也可...
原创
发布博客 2019.08.11 ·
1282 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

C++默认构造函数

定义默认构造函数是可以无实参调用(空参数列表或所有形参都提供了默认初始值)的构造函数,在没有提供显式初始化值时被调用。假设类类型为T,其默认构造函数声明的语法如下:T();T::T();T() = delete; //C++11T() = default; //C++11T::T() = default; //C++11在上面几种默认构造函数的声明中,2和5都属于类外定义(每...
原创
发布博客 2019.08.06 ·
1356 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

LibROSA库提取MFCC特征的过程解析

目录源码解析获取梅尔频谱分帧加窗快速傅里叶变换梅尔滤波器取对数离散余弦变换总结LibROSA(本文使用的版本是0.6.3)中的mfcc函数可以用来提取音频的梅尔频率倒谱系数(Mel-Frequency Cepstral Coefficients,MFCCs)特征,MFCC被广泛应用于语音识别。LibROSA的mfcc函数源码如下:# -- Mel sp...
原创
发布博客 2019.04.07 ·
23955 阅读 ·
46 点赞 ·
18 评论 ·
146 收藏

C++断言

断言简述断言(assertion)是编程中的一种常用手段,在通常情况下,断言就是将一个返回值总是真(或者我们需要是真)的判别式放在语句中,用以排除在设计逻辑上不应该出现的情况。举个例子:我们都知道除数不能为0,那么就可以对除数使用断言,以使程序在除数为0的情况下产生异常退出。通常来说,断言并不是正常程序所必需的,但对于程序调试来说,通常断言能够帮助开发者快速定位那些违反了某些前提条件的程序...
原创
发布博客 2019.03.06 ·
12131 阅读 ·
5 点赞 ·
0 评论 ·
43 收藏

vim分屏

目录切割窗口水平分割调节窗口大小垂直分割关闭窗口切换窗口移动窗口窗口批处理分屏功能是通过分割窗口来实现的,这是提高工作效率的一大利器。无论我们想同时显示两个文件,或者同时显示一个文件的两个不同的位置,又或者并排比较两个文件……这些都能通过分屏来实现。切割窗口水平分割在命令模式下,输入以下命令::split这个命令把窗口横向切分为两个,并把光...
原创
发布博客 2019.02.28 ·
3712 阅读 ·
4 点赞 ·
0 评论 ·
23 收藏

macOS下SVN常见命令简述

获取帮助命令格式:svn help(或svn h,或svn ?)此命令用以获取svn的常见命令及其书写格式。此外,加上具体的命令名称还可以获取该命令的说明文档,如:svn help status。检出命令格式:svn checkout|co URL [local_path]checkout命令用于将服务器端(代码仓库)中的项目代码检出(其实就是拷贝,类似于Git的clone...
原创
发布博客 2019.02.19 ·
514 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Go并发编程——goroutine与channel

goroutine并发编程表现为程序由若干个自主的执行单元组成,在Go里,每一个并发执行的活动称为goroutine。从宏观作用上看,goroutine类似于操作系统或其他编程语言中的进程/线程,但实现却大不相同。Go语言中,当一个程序执行时,只有一个goroutine来调用main函数,这个routine称为主goroutine,新的goroutine通过关键字 go 进行创建——在函数...
原创
发布博客 2019.02.15 ·
709 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Go语言的类型断言

类型断言是一个作用在接口值上的操作,写出来类似于x.(T),其中x是一个接口类型的表达式,而T是一个类型(称为断言类型)。类型断言会检查作为操作数的动态类型是否满足指定的断言类型,这有两种可能:1.如果T是一个具体类型,那么类型断言会检查x的动态类型是否为T。如果是则检查成功,类型断言的结果就是x的动态值,类型就是T,如果不是则检查失败。2.如果T是一个接口类型,那么类型断言会检查x的动态...
原创
发布博客 2019.02.12 ·
966 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

Go语言的接口

概述接口是一种抽象类型,是对其他类型行为的概括与抽象,从语法角度来看,接口是一组方法定义的集合。很多面向对象的语言都有接口这个概念,但Go语言接口的独特之处在于它是隐式实现。换句话说,对于一个具体的类型,无须声明它实现了哪些接口,只要提供接口所必需的方法即可。这种设计让编程人员无须改变已有类型的实现就可以为这些类型创建新的接口——对于那些不能修改包的类型,这一点特别有用。以Go标准库中的f...
原创
发布博客 2019.02.12 ·
4697 阅读 ·
4 点赞 ·
3 评论 ·
16 收藏

Go语言的方法

目录方法概述 嵌套结构体中的方法调用方法变量方法表达式封装方法概述尽管Go没有统一的面向对象编程(OOP)的定义,但依然支持方法(C++中常叫做成员函数)。因为对我们来说,对象就是一个值或变量,并且拥有其方法,而方法是某种特定类型的函数。OOP就是使用方法来描述每个数据结构的属性和操作。Go语言的方法声明和普通函数声明类似,只是在函数名前面多了一个参数。这个参数把这...
原创
发布博客 2019.02.09 ·
753 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

Go语言的结构体

概述与C相同,Go的结构体是零个或多个任意类型的命名变量组合在一起的聚合数据类型,每个变量叫做结构体的成员。结构体的每个成员都通过点号来访问。定义结构体时,成员通常一行写一个,但相同类型的成员也可以写在同一行上。但需要注意的是:成员的顺序对于结构体同一性很重要,如果我们将变量的定义顺序调换或者将本来单行定义的变量写成同一行(或反之),那么我们就会定义一个不同的结构体类型。命名结构体类型...
原创
发布博客 2019.02.06 ·
323 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Go语言的函数特性

函数声明Go语言的每一个函数声明都包含一个函数名、一个形参列表、一个可选的返回列表以及函数体:func name(parameter-list) (result-list) {body}上述函数声明的语法通式中,若函数仅有一个或没有返回值,返回列表的圆括号可以省略。函数的类型称作函数签名。当两个函数拥有相同的形参列表和返回列表时(形参和返回值的名字不作为判断依据),这两个函数的类型或签...
原创
发布博客 2019.02.02 ·
287 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Go语言变量的基本特性

变量声明Go语言中,用var关键字创建一个具体类型的变量,并设置它的初始值。通用形式为:    var name type = expression类型和表达式部分可以省略其中一个,但不能都省略。如果省略类型,变量的类型将由初始化表达式决定;如果表达式省略,其初始值对应于类型的零值——对于数字是0,对于布尔值是false,对于字符串是"",对于接口和引用类型(slice、指针、map、通道...
原创
发布博客 2019.02.01 ·
288 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Go语言的常量

Go语言的常量是一种表达式,常量可以保证在编译阶段就计算出表达式的值。所有的常量本质上都属于基本类型:数字、布尔型、字符串等。Go语言的常量定义与变量类似,只不过使用了const关键字修饰,但不能使用短变量声明关键字 := 来定义常量。对于常量操作数,所有数学运算、逻辑运算和比较运算的结果依然是常量,常量的转换结果和某些内置函数的返回值(例如len、cap、real、imag、complex和...
原创
发布博客 2019.02.01 ·
899 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Go的基本数据类型

整数与其他程序设计语言一样,Go的整型也分为有符号整型和无符号整型两类。有符号整型有int、int8、int16、int32、int64;无符号整型有uint、uint8、uint16、uint32、uint64、uintptr。上述整型中,后面带数字的整型有明确的大小,数字即代表比特位。int、uint、uintptr的大小并不明确,或者说与编译器相关。uintptr足以完整存放指针,仅用于...
原创
发布博客 2019.01.31 ·
932 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

MySQL数据类型

MySQL提供了多种数据类型,主要包括数值类型、字符串类型、日期和时间类型等。不同版本的MySQL支持的数据类型及其命名方式可能会稍有不同。我们可以通过查询帮助文件来获得具体信息,以5.7.19为例:我们还可以进一步查询某一种具体类型的定义及其存储空间等基本信息。 数值类型MySQL的数值类型   类型名 字节 有符号数范围 无符号数范围 整数...
原创
发布博客 2019.01.22 ·
177 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

MySQL基础——SQL语句

目录DDL语句创建数据库查看已创建的数据库选择数据库删除数据库创建表查看表定义信息删除表修改表修改字段类型增加表字段删除表字段修改字段排列顺序DML语句插入记录更新记录删除记录查询记录去重查询条件查询排序和限制聚合表连接DCL语句DDL语句DDL(Data Definition Langu...
原创
发布博客 2019.01.21 ·
304 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

主存内容更新算法

更新主存内容主存和缓存之间信息交换的关键是更新主存内容,一般有两种更新算法:写回法(Write Back)和写直达法(Write Through)。写回法是指在CPU执行写操作命中Cache时,信息只写入Cache,仅当需要被替换时,才将已被写入过的Cache块先送回主存,然后再调入新的数据块。写回法包括简单写回法和采用标志位的写回法。简单写回法不管块是否更新,都进行写回操作;而采用标志位...
原创
发布博客 2019.01.15 ·
4635 阅读 ·
4 点赞 ·
0 评论 ·
20 收藏

《剑指offer》题解

1.赋值运算符函数CMyString& CMyString::operator=(const CMyString &str){ if (this != &str) { CMyString strTemp(str); char *pTemp = strTemp.m_pData; strTemp.m_pDa...
原创
发布博客 2018.12.25 ·
502 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux进程间通信总结

 目录信号管道命名管道System V IPC组成标识符ftok函数结构定义特点消息队列信号量共享内存套接字Linux下的进程间通信(Interprocess Communication,IPC)方式基本上是从Unix继承而来的。对Unix发展做出重大贡献的两个实验室:AT&T的贝尔实验室、BSD在IPC方面的侧重点有所不同。前者...
原创
发布博客 2018.11.13 ·
926 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏
加载更多