自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 问答 (6)
  • 收藏
  • 关注

原创 C++类继承中的构造与析构

对于以下两个类执行以下操作:A* p = new B;delete p;p->test();return 0;根据我以前知道的知识,在new子类时,会先调用基类构造,再调用子类构造;在delete子类时,会先调用子类析构,再调用基类析构;而奇怪的是,在调用子类的虚函数test时,并不会在调用前或调用后自动调用基类的test函数。为什么构造函数和析构函数如此特殊?自动调用过程是如何实现的呢?首先纠正一个错误:在执行new时我们可以观察到,程序会先执行基类A构造函数中的操作,再执行子

2021-10-27 15:36:14 353

原创 Rust实现的多线程Web服务器

基础部分是跟着《Rust权威指南》一步一步做的在此基础上又增加了路径判断功能和二进制文件传输功能,总的来就是解决了原书代码无法使用超链接,无法加载图片、音乐等问题简单的网页已经足以胜任,并发能力尚可(主要我这边测试能力有限)另外还解决了write()的一个panic,这个问题会消耗线程,最终让程序挂掉,解决之后稳定性还不错默认配置:线程池大小4,监听80端口,单次二进制传输65535Byte,index文件夹/var/www如有需求可在main.rs中自行修改本人纯Rust初学者,代码必然有大量

2020-11-18 04:12:04 674

原创 【rasp】自用

打开wifi烧录系统后直接用系统自带设置配置无线网络即可正常使用raspi-config升级vim自带的vim版本很低,需要升级sudo apt-get remove vim-common -ysudo apt-get install vim -y为pi获取root权限首先要允许root权限登录sudo vi /etc/ssh/sshd_config将#PermitRootLogin without-password改为PermitRootLogin yes然后重启ssh服务

2020-11-17 18:39:16 161

原创 【二叉树】风格统一,简单易记的二叉树非递归遍历

二叉树递归遍历的缺点很多,函数跳转拖慢速度,二叉树深度大时还会导致爆栈。相较之下非递归遍历就没有这些问题,但网络上的三种非递归遍历代码并没有做到递归代码那种程度的风格统一,易于理解(递归遍历之间只是访问节点的位置不同,其他部分可以完全一致),因此我决定做一个简单归纳,让非递归代码也能像递归代码那样风格统一,便于记忆。注意:我的算法与网络上的算法相比付出了额外的空间,请读者自行取舍。

2020-10-27 15:47:30 157

原创 C++多线程初窥

多线程的使用线程创建一开始我用的是pthread.h,创建了五个线程输出helloworld,玩的还挺开心,不过后来猛地在网上发现了C++11中的thread类,顿时惊为天人,这玩意太方便了,反过来看pthread.h的缺点真是不少,首先创建线程就很麻烦(命令长,参数多)。pthread_t tid;//创建一个线程idint ret = pthread_create(tid, NULL, helloWorld, NULL);thread就很牛逼了,短短一行完事。thread t(helloW

2020-10-07 23:06:16 104

原创 c++语言概念——const

什么是constconst用于定义常量,对常量的一切修改操作是非法的const的用法const必须初始化,很好理解,不初始化又不能修改根本没有存在意义const int a=100;a=0;//ERRORconst int b;//ERROR常量引用不能修改其引用对象,不论其引用对象是否为常量非常量引用不能引用常量对象int a1=1;const int a2=1;const int &b1=a1;int &b2=a2;//ERROR和引用类似,指向常量的指针不

2020-05-09 00:47:28 184

原创 c++语言概念——引用

什么是引用引用可以理解为变量的别名,外号,是隐含的指针操作对某变量引用的操作就是对该变量的操作引用必须初始化,一旦初始化就完成绑定,不得重新绑定或手动撤销绑定,其生命周期与其所在函数有关,与其绑定的变量无关int a1=100;void test(void){ int a2=90; int &b1=a1;//b1是a1的别名 int &b2=a2; cout<<"a1="<<b1<<endl; b2--;/

2020-05-08 23:47:31 243

原创 从重置云服务器开始,在阿里云部署网页

1.重置服务器为了真正做到从零开始,先重置服务器重置服务器的步骤很简单,先把服务器关机,然后找到磁盘列表,重新初始化磁盘,再开机即可这里我用的系统是CentOS 7.6 64位2.配置安全组阿里云出于安全考虑会默认限制服务器出入端口开放这里我们添加一个端口为80开放规则,否则不能正常连接3.服务器端必要的下载与安装服务器接受浏览器请求和返回网页文件需要tomcat的支持(当然也有...

2019-12-03 20:14:38 379

原创 机器学习作业 西瓜书4.4(C语言)

机器学习作业 西瓜书4.4(C++)#include<stdio.h>#include<stdlib.h>#include<math.h>#define LABLECOUNT 7 //特征数(包括类别)#define SAMPLECOUNT 10 //样本集大小#define VERTIFYCOUNT 7 ...

2019-11-03 12:43:14 825

空空如也

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

TA关注的人

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