自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 hexo博客设置唯一链接

复制后的URL路径就是把中文变成了一大堆字符串编码,如果你在其他地方用这边文章的url链接,偶然你又修改了改文章的标题,那这个URL链接就会失效。为了给每一篇文章来上一个属于自己的链接,写下此教程,利用 hexo-abbrlink 插件,A Hexo plugin to generate static post link based on post titles ,来解决这个问题。Hexo的默认文章链接格式是年,月,日,标题这种格式来生成的。如果你的标题是中文的话,那你的URL链接就会包含中文,

2022-10-30 08:12:14 354 1

转载 如何挑选博客框架及在线博客平台

文中的博客框架我也没有办法亲自一一搭建体验,所以这只是一个参考方向,更何况每个人对于博客什么要求,自己什么需求,只有自己最清楚。动态博客和静态博客各自的优缺点都很明显,按需,按能力选择就好。无论你是使用自建博客,还是在线网站,亦或者是笔记服务,重要的是你有坚持写博客的毅力。平台重要,但不是最重要的因素。七大开源 blog 框架介绍静态博客是什么?常用的静态博客程序有哪些?静态博客的优缺点!

2022-10-30 08:11:21 518

原创 搭建Wordpress个人博客

主题可以在WordPress的“外观”管理工具中安装,或者通过FTP上传至主题文件夹。WordPress 博客本身带主题/插件商店,因此可以直接在网站后台进行安装并启用,当然也有许多优秀的主题和插件无法在后台中直接安装,那么这些主题和插件需要自己到论坛、网上去找,下载后在网站后台上传,再到网站后台启用即可。这一步尤其重要,正确设置伪静态和固定链接可以保证网站被正常访问,顺序一定不要搞错了,先在宝塔设置伪静态规则,再设置WordPress固定链接,否则可能导致除首页之外的任何页面都访问不了。

2022-10-30 08:09:57 521

原创 搭建Typecho个人博客

这一步尤其重要,正确设置伪静态和固定链接可以保证网站被正常访问,顺序一定不要搞错了,先在宝塔设置伪静态规则,再设置Typecho固定链接,否则会开启固定链接会报错,未报错也可能导致除首页之外的任何页面都访问不了。Markdown是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,这也是当下大多数部落格程序所采用的编辑器语法。Typecho 博客本身不带主题/插件商店,因此主题和插件需要自己到论坛、网上去找,下载后上传到网站目录的相应文件夹中,再到网站后台启用即可。Typecho使用的是。

2022-10-30 08:09:06 1742

原创 搭建hexo个人博客

npm install hexo -g #安装Hexonpm update hexo -g #升级hexo init #初始化博客命令简写hexo n “我的博客” == hexo new “我的博客” #新建文章hexo g == hexo generate #生成hexo s == hexo server #启动服务预览hexo d == hexo deploy #部署hexo server #Hexo会监视文件变动并自动更新,无须重启服务器。

2022-10-30 08:08:14 720

原创 Linux初识指令

linux几乎支持所有种类的压缩包,所有互联网公司后台都是linux系统,开发人员开发的软件,将来都是要部署到linux系统上得,开发出的软件被打包在一起并压缩,因此部署在linux上时就一定得先上传这些压缩包到linux平台,不同的开发平台可能压缩工具和算法都不同,例如Windows,MacOS等等,要将不同环境下开发的项目部署在linux,那就必须能够正确解压这些不同种类压缩包。不过,也正是图形化界面是指令操作套了一层“外壳”,离OS也就更远,因此学习OS原理,学习指令是更好的选择,

2022-10-30 08:03:53 373

原创 Linux环境搭建

使用云服务器不仅环境搭建简单, 避免折腾, 同时还有一个最大的好处, 部署在云服务器上的项目可以直接被外网访问到, 这个时候就和一个公司发布一个正式的网站没有任何区别. 也就能让我们自己写的程序真的去给别人去使用.接下来就可以登陆到我们的服务器了,腾讯云提供了在控制台一键免密登录,但是不够方便,因此下文我们将继续介绍使用SSH远程登陆。至此我们就可以看到我们的云服务器的基本信息了,复制公网ip,一会儿我们用得上。可以先看看官网的活动,几个云服务器厂商都常年搞活动,价格还蛮便宜的。,比较稳定适合学习;

2022-10-30 08:02:44 898

原创 关于Linux

本门课程学习Linux系统编程,你可能要问Linux从哪里来?它是怎么发展的?在这里简要介绍Linux的发展史。要说Linux,还得从UNIX说起。Unix 最早是由 AT&T® 贝尔实验室在 1969 年开发,是一种专有但可许可的产品。在接下来的 10 年里,Unix 开发了多个版本,包括 V6,该版本是面向贝尔实验室以外提供的第一个版本。由于新语言的性质,这个代码很快就引起了学术界的注意。

2022-10-30 08:01:41 366

原创 操作系统初识

传统的技术发展技术进步是要花钱的,钱从哪里来?那么只有国家给,但是国家却无法从中获利,技术没有稳定的资金来源,因此技术进步是受阻并且缓慢的。技术商业化技术人员:搞技术。搞技术需要资金,那么商业化的公司投资,获得其技术的授权和专利。于是产生了intel,apple等公司用技术孵化出民用级的产品,于是将技术变现卖给老百姓。为什么诞生了操作系统?在计算机被发明之初,只是一堆硬件,其使用成本是非常高的,通常只能是专业的科学家。有人开始研发计算机上的软件,于是由肯汤普森使用汇编语言编写的Unix诞生,开始进入高校和各

2022-10-30 08:00:50 222

原创 开源是什么

开发人员分享洞察、构想和代码,共同和单独创建更多创新的软件解决方案 这种可扩展且灵活的软件可确保任何拥有源代码 的人都能将其修改、增强和重新分发,从而提高可复用性和可访问性。这样,软件可以发挥更多、更好的用途,可以更灵活,成本可以更低,寿命可以更长,也没有供应商锁定。社区曾经对此的解释是:“它指的是言论自由的自由,而不是免费啤酒的免费”。由于 Linux 是基于限制软件用途的开源许可证发布的,只要符合相应的许可条件,任何人都可以运行、研究、修改和重新分发源代码,甚至还可以销售修改后代码的副本。

2022-10-30 07:59:41 492

原创 C++内存管理

public :};// 申请单个Test类型的空间 Test * p1 =(Test *) malloc(sizeof(Test));free(p1);// 申请3个Test类型的空间 Test * p2 =(Test *) malloc(sizeof(Test) * 3);free(p2);// 申请单个Test类型的对象 Test * p1 = new Test;// 申请3个Test类型的对象 Test * p2 = new Test [ 3 ];Test1();

2022-10-29 22:00:47 192

原创 日期类实现和一些细节处理

日期类的实现在前面学过默认成员函数后,我们就可以写一个简单的日期类了。如何写呢?我们可以先分析分析。日期类的成员变量都是int类型,那么构造函数是要显式定义的,成员变量都是int类型,因此浅拷贝即可。因此拷贝构造、析构、赋值操作符重载都不需要我们显式定义,使用编译器生成的就好。#include<iostream>using namespace std;int MonthDay[13] = { 0, 31,28,31,30,31,30,31,31,30,31,30,31 };b

2022-05-24 20:43:09 141

原创 C++运算符重载

运算符重载本文包括了对C++类的6个默认成员函数中的赋值运算符重载和取地址和const对象取地址操作符的重载。运算符是程序中最最常见的操作,例如对于内置类型的赋值我们直接使用=赋值即可,因为这些编译器已经帮我们做好了,但是对象的赋值呢?能直接赋值吗?概念C++为了增强代码的可读性引入了运算符重载,运算符重载是具有特殊函数名的函数,也具有其返回值类型,函数名字以及参数列表,其返回值类型与参数列表与普通的函数类似。函数名字为:关键字operator后面接需要重载的运算符符号。函数原型:返回值类

2022-05-24 20:42:16 330

原创 C++拷贝构造函数

拷贝构造函数我们经常会用一个变量去初始化一个同类型的变量,那么对于自定义的类型也应该有类似的操作,那么创建对象时如何使用一个已经存在的对象去创建另一个与之相同的对象呢?构造函数:只有单个形参,该形参是对本类类型对象的引用(一般常用const修饰),在用已存在的类类型对象创建新对象时由编译器自动调用拷贝构造函数是构造函数的一个重载,因此显式的定义了拷贝构造,那么编译器也不再默认生成构造函数。特征拷贝构造也是一个特殊的成员函数特征如下:拷贝构造是构造函数的一个重载;拷贝构造的参数只有一个

2022-05-24 20:41:44 184

原创 C++析构函数

析构函数既然在创建对象时有构造函数(给成员初始化),那么在销毁对象时应该还有一个清除成员变量数据的操作咯。概念析构函数:与构造函数功能相反,析构函数不是完成对象的销毁,局部对象销毁工作是由编译器完成的。而对象在销毁时会自动调用析构函数,完成类的一些资源清理工作。特性析构函数是特殊的成员函数特征如下:析构函数名是~类名;无参数无返回值;一个类有且只有一个析构函数;对象声明周期结束,编译器自动调用析构函数;class Stack{public: Stack(int cap

2022-05-24 20:41:01 3331 1

原创 C++构造函数

类的6个默认成员函数如果我们写了一个类,这个类我们只写了成员变量没有定义成员函数,那么这个类中就没有函数了吗?并不是的,在我们定义类时即使我们没有写任何成员函数,编译器会自动生成下面6个默认成员函数。class S{public: int _a;};这里就来详细介绍一下构造函数。构造函数使用C语言,我们用结构体创建一个变量时,变量的内容都是随机值,要想要能正确的操作变量中存储的数据,我们还需要调用对应的初始化函数,给成员变量赋一个合适的初值。那么C++呢,我们仍然使用这个方法来试试。

2022-05-24 20:40:30 8860

原创 C++类和对象(上)

2022-05-20-摘要面向过程和面向对象初步认识类的引入类的定义类的作用域类的实例化类的访问限定符及封装类的对象大小计算类的成员函数的this指针总结目录文章目录2022-05-20-摘要总结目录@[toc]面向过程和面向对象初步认识类的引入类的定义类的访问限定符及封装访问限定符封装类的作用域类的实例化类对象模型计算类对象的大小类对象的存储方式结构体内存对齐规则this指针this指针的特性关于this指针面向过程和面向对象初步认识C语言是面向过程的,关注的是过程,分

2022-05-24 20:38:48 174

原创 腾讯云CDN加速COS图床

在我们定义类时即使我们没有写任何成员函数,编译器会自动生成下面6个默认成员函数。class S{public: int _a;};class S{public: int _a;};

2022-05-24 20:37:02 618

原创 奇奇怪怪的地方

一些奇怪的地方不知是我菜还是有bug,有些地方始终想不明白,于是在这里写下,有知道的朋友请务必提示我。内联函数在未被编译器采用建议情况内联函数声明和定义分离,一定会发生链接错误,这一点可以保证是无误的。可是如果我们执意内联,编译器却不听话,我就产生了如下疑惑:奇怪,这里的内联函数函数体我写成了递归,因此编译器并没有将它当做一个内联函数,而是按照普通函数去编译,于是便有了地址,有了地址理应说可以被链接到了,也就是可以被其他源文件所使用,嘿,可是不行,我大胆猜测这里是因为使用的地方也声明了f函数是内联

2022-05-19 10:48:29 79

原创 腾讯云COS

购买对象存储(cos)资源包购买链接:https://curl.qcloud.com/CcQyuzkZ[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BqmsaIOC-1652928361898)(https://pic.xinsong.xyz/img/202205182112358.png)]创建存储桶列表这里是因为我用做来做个人图床,所以考虑到自己的一个用量,10G完全满足我了。其中流量中的外网下行流量包(图片访问一次就会产生费用),和CDN回源流量包(CDN节

2022-05-19 10:46:25 1422 1

原创 C++入门基础(下)

2022-05-17-摘要总结目录文章目录2022-05-17-摘要总结目录@[toc]内联函数概念特性内联函数的缺点一些其他不足auto关键字auto简介详细使用规则auto不能推导类型的场景基于范围的for循环范围for的语法范围for的使用条件新的指针空值nullptr C++11内联函数C++中函数的使用我们已经比较清楚了,与C语言中函数的使用大多相同,主要是增加了重载的特性,对C语言的函数的一些缺陷做了一些补充。那么对于一些比较简单却又经常使用的功能,我们在C语言中常常使用宏来替

2022-05-18 07:47:28 767

原创 指针和引用的区别

前言指针和引用在形式上很好区别,在C++中相比于指针我们更喜欢使用引用,但是它们的使用场景又极其类似,它们都能直接引用对象,对对象进行处理,那么究竟为什么会引入?什么时候使用指针?什么时候使用引用?这两者实在容易混淆,在此我详细介绍一下指针和引用。指针和引用的定义维基百科中这样解释指针:在计算机科学中,指针(英语:Pointer),是编程语言中的一类数据类型及其对象或变量,用来表示或存储一个存储器地址,这个地址的值直接指向(points to)存在该地址的对象的值。引用:在C++编程语言中,引

2022-05-16 16:32:12 16405 2

原创 C++入门基础(上)

2022-04-29-摘要总结目录文章目录2022-04-29-摘要总结目录@[toc]C++关键字命名空间命名空间定义命名空间的使用指定使用全局域中的内容C++输入输出缺省参数缺省参数的分类函数重载函数重载的概念函数重载的底层实现对重载函数的调用不明确extern “C”引用引用的概念引用特性常引用使用场景传值和传引用的区别引用和指针的区别一些引用的注意事项C++关键字C++关键字全集(参考 C++ Primer ):asmautobad _castbad _typeid

2022-05-16 13:58:09 299

原创 C++和C的混合编译

简介C++ 语言的创建初衷是 “a better C”,但是这并不意味着 C++ 中类似 C 语言的全局变量和函数所采用的编译和连接方式与 C 语言完全相同。作为一种欲与 C 兼容的语言, C++ 保留了一部分过程式语言的特点(被世人称为"不彻底地面向对象"),因而它可以定义不属于任何类的全局变量和函数。但是, C++ 毕竟是一种面向对象的程序设计语言,为了支持函数的重载, C++ 对全局函数的处理方式与 C 有明显的不同。本文将介绍如何通过 extern “C” 关键字在 C++ 中支持 C 语言 和

2022-04-30 18:16:17 5311 8

原创 排序算法:快速排序

2022-04-20-摘要快速排序思想快速排序的基准选取序列的三种分割方法递归小区间优化非递归快排总结目录文章目录2022-04-20-摘要总结目录@[toc]快速排序简介算法挑选基准值分割递归子序列挑选基准值以及分割子区间hoare优化挖坑法优化快慢双指针优化递归子序列非递归版快速排序简介快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要 Ο(nlogn) 次比较。在最坏状况下则需要 Ο(n2) 次比较,但这种状况并不常见。事实上,快速排序通常明显

2022-04-30 12:52:29 224

原创 Typora+Github + Picgo打造个人云笔记

2022-04-14-摘要Typora配置Github 创建仓库和获取TokenPicgo 设置总结目录文章目录2022-04-14-摘要总结目录@[toc]创建仓库Token的生成Picgo配置免费CDN:jsDelivr+GithubTypora设置创建仓库如图创建一个新的仓库指定仓库名下载picgo链接如下:Releases · Molunerfinn/PicGo下载后傻瓜式安装即可。进入GitHub图床设置仓库名格式如上:用户名 + 仓

2022-04-30 12:44:54 860

原创 排序算法:比较排序

2022-04-18-摘要常用的比较排序算法思想冒泡排序插入排序希尔排序选择排序动图示例算法时间复杂度总结目录文章目录2022-04-18-摘要总结目录@[toc]算法:排序冒泡排序插入排序Shell排序选择排序算法:排序排序是一个非常经典的问题,它以特定顺序(递增、非递减(递增或扁平))对数组(或列表)的项目(可以比较,例如整数、浮点数、字符串等)进行重新排序)、递减、非递增(递减或平坦)、字典式等)。有许多不同的排序算法,每一种都有自己的优点和局限性。排序通常用作各种

2022-04-20 19:22:20 1099

原创 排序算法简介

排序的概念及其运用排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排序算法是稳定的;否则称为不稳定的。内部排序:数据元素全部放在内存中的排序。外部排序:数据元素太多不能同时放在内存中,根据排序过程的要求不能在内外存之间移动数据的排序。

2022-04-20 19:15:20 177

原创 VScode 修改插件安装目录

Windows链接管理员权限打开cmd,利用mklink来创建目录符号链接把C:\Users{username}.vscode\extensions(默认插件位置)的extensions文件夹整个剪切到你想换的位置在cmd中输入mklink /D “C:\Users{username}.vscode\extensions” “剪切后的路径”(username即为你的账户的用户名)类似于Linux中的软链接,仅仅是指向另一个目录的链接,并不占用空间。注意:不要将新的路径放在VS Code安装目

2022-04-13 11:58:14 1141

原创 Centos7.6更新git

Centos升级git版本本文讲述如何升级 centos 系统的 git 版本。高版本 git 增加了一些好用的功能,比如"git pull 支持指定项目目录"等。本文以 centos7 为例讲解。本文参考了文档centos 6.x/7.x 使用 yum 升级 git 版本 (opens new window)。升级 centos7 的 git 版本卸载旧版本 gityum remove git安装 git 仓库rpm -ivh http://opensource.wandis

2022-04-13 11:56:03 905

原创 Centos7.x安装Python3.9(优化方法)

Centos7.6安装python3.91.安装相应的编译工具建议在root下操作,会方便很多,一定要安装,否则编译安装会报错。yum -y groupinstall "Development tools"yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devely

2022-04-13 11:54:59 9590 3

原创 Centos7.x将Python2升级到Python3

Centos7.6安装python31、查看Python版本python -V2、更新yum源yum update3、安装依赖yum install yum-utilsyum-builddep python4、下载pythonwget https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tgz5、安装Python相关依赖yum -y install zlib-devel bzip2-devel openssl-devel

2022-04-13 11:54:04 3685 2

原创 【C语言进阶】自定义类型

2022-04-02-摘要结构体结构体类型的声明结构的自引用结构体变量的定义和初始化结构体内存对齐结构体传参结构体实现位段(位段的填充&可移植性)枚举枚举类型的定义枚举的优点枚举的使用联合联合类型的定义联合的特点联合大小的计算总结目录文章目录2022-04-02-摘要总结目录@[toc]结构体的声明特殊声明结构的自引用结构体变量的定义和初始化结构体内存对齐修改默认对齐数结构体传参位段什么是位段成员空间的开辟方式在VS中位段的内存分配位段跨平台问题位段的应用

2022-04-13 08:31:12 233

原创 【C语言进阶】文件操作

2022-04-03-摘要为什么使用文件什么是文件文件的打开和关闭文件的顺序读写文件的随机读写文本文件和二进制文件文件读取结束的判定文件缓冲区总结目录文章目录2022-04-03-摘要总结目录@[toc]为什么使用文件程序文件数据文件文件名文件的打开和关闭文件指针文件的打开和关闭文件的顺序读写文件的随机读写fssekftellrewind文本文件和二进制文件文件读取结束的判定feofferror文件缓冲区为什么使用文件内存是带电存储的,也就是说一旦断电,数据都会销毁,但

2022-04-12 11:01:45 854

原创 【C语言进阶】指针

2022-04-02-摘要指针的进阶字符指针数组指针指针数组数组传参和指针传参函数指针函数指针数组指向函数指针数组的指针回调函数指针和数组面试题的解析总结目录文章目录2022-04-02-摘要总结目录@[toc]字符指针指针数组数组指针对数组名取地址数组指针的使用数组参数、指针参数一维数组传参二维数组传参一级指针传参二级指针传参函数指针函数指针数组指向函数指针数组的指针回调函数指针的概念指针是个变量,用来存储地址。指针的大小只与是64位平台还是32位平台有关,与

2022-04-12 11:00:42 145

原创 【C语言进阶】动态内存管理

2022-04-03-摘要为什么存在动态内存分配动态内存函数的介绍mallocfreecallocrealloc常见的动态内存错误柔性数组总结目录文章目录2022-04-03-摘要总结目录@[toc]为什么存在动态内存分配动态内存函数[malloc ](https://www.cplusplus.com/reference/cstdlib/malloc/?kw=malloc)和 [free ](https://www.cplusplus.com/reference/cstdli

2022-04-12 10:59:26 83

原创 【C语言详解】指针

2022-04-02-摘要指针是什么指针的作用如何避免野指针总结目录文章目录摘要总结目录@[toc]指针是什么指针和指针类型野指针指针运算指针和数组二级指针指针数组指针是什么指针是什么?指针理解的2个要点:指针是内存中一个最小单元的编号,也就是地址平时口语中说的指针,通常指的是指针变量,是用来存放内存地址的变量指针就是地址,指向某一块内存空间。我们有一个变量在栈中被创建,如果我们想找到它有几种方式呢?通过变量名去访问通过地址访问这一个个编号就是虚拟内存

2022-04-12 10:57:53 412

原创 C语言实现【通讯录】

2022-04-02-摘要实现简易通讯录,拥有增删查改功能,排序功能,动态通讯录,保存功能。总结目录文章目录2022-04-02-摘要总结目录@[toc]头文件`contact.h`函数体源文件`contact.c`主函数源文件`test.c`简单功能展示增加联系人功能。按照姓名排序功能。保存文件,重新启动重新加载功能。头文件contact.h//文件保存版#include<stdio.h>#include<string.h>#include&

2022-04-12 10:56:04 221

原创 【C语言详解】操作符

2021-11-18-摘要操作符总结目录文章目录2021-11-18-摘要总结目录@[toc]操作符分类算术操作符移位操作符左移操作符右移操作符位操作符赋值操作符单目操作符前置和后置++sizeof数组 和 sizeof关系操作符逻辑操作符三目操作符逗号表达式下标引用、函数调用和结构成员表达式求值隐式类型转换算术转换操作符的属性操作符分类算术操作符移位操作符位操作符赋值操作符单目操作符关系操作符逻辑操作符条件操作符逗号表达式下标引用、函数调用和结构成员算术操作符

2022-04-12 10:52:27 280

原创 【C语言详解】结构体

2022-04-02-摘要结构体的声明结构体的初始化结构体成员访问结构体传参总结目录文章目录2022-04-02-摘要总结目录@[toc]结构体的声明结构体成员的访问结构体传参结构体的声明什么是结构结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。结构体的声明struct tag{ member-list;}variable-list;结构体的作用我们想用一个变量描述一个人,那如何实现呢?C语言提供给我们的基础类型中,都是只能描述某

2022-04-12 10:49:30 85

空空如也

空空如也

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

TA关注的人

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