自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (10)
  • 收藏
  • 关注

原创 个人总结之重载、重定义、重写的区别

C++中发生继承时,常常或伴随着子类和父类之间函数或是数据成员的复制、重定义、重写;或是在本类中发生重载;1、复制当发生继承时,子类将会 复制父类 的全部成员;因此我们可以认为在子类中存在两个域:子类域、父类域;2、重定义(redefine)又叫隐藏,遮掩隐藏是指派生类的函数屏蔽了与其同名的基类函数。注意只要同名函数,不管参数列表是否相同,基类函数都会被隐藏,而不是在派生类中发生重载。特性: 不在同一个作用域(分别位于派生类与基类) 函数名字相同 返回.

2020-07-08 15:30:24 400

原创 学习笔记之排序算法

排序算法性能对比【注】内排序指待排序的数据存放在计算机内存中进行的排序过程;(计算机内存可以一次性全部加载待排序数据)外排序指排序要对外存储器进行访问的排序过程;(数据过多,内存无法一次性直接排序,放外存分部加载)选择排序:直接选择排序和堆排序;插入排序:直接插入排序和希尔排序;交换排序:冒泡排序和快速排序;为什么要分稳定排序 和 非稳定排序?答:当有两个排序关键字的时候,稳定排序可以让第一个关键字排序的结果服务于第二个关键字排序中数值相等的那些数。经典例子就是期中...

2020-07-04 22:35:54 427 1

原创 操作系统之线程间同步方式

比起进程复杂的通信机制(管道、匿名管道、消息队列、信号量、共享内存、内存映射以及socket等),线程间通信要简单的多。因为同一进程的不同线程共享同一份全局内存区域,其中包括初始化数据段、未初始化数据段,以及堆内存段,所以线程之间可以方便、快速地共享信息。只需要将数据复制到共享(全局或堆)变量中即可。不过,要避免出现多个线程试图同时修改同一份信息也即得使用线程同步功能。线程同步,指一个线程发出某一功能调用时,在没有得到结果之前,该调用不返回。同时其它线程为保证数据一致性,不能调用该功能。所有“多个.

2020-07-03 19:23:15 1116 1

原创 个人总结之C++实现二叉树遍历(全)

#include<iostream>#include<stack> #include<queue>#include<vector>#include<algorithm>using namespace std;/*输入实例 1 2 3 4 5 6 7 -1-1 -1-1 -1-1 -1-1此树的前序遍历为:1 2 .

2020-07-02 21:01:50 524

原创 学习笔记之C++异常处理

程序的错误大致可以分为三种,分别是语法错误、逻辑错误和运行时错误:运行时错误是指程序在运行期间发生的错误,例如除数为 0、内存分配失败、数组越界、文件不存在等。C++ 异常(Exception)机制就是为解决运行时错误而引入的。C++异常处理机制C++语言的异常处理机制通过3个关键字throw、try和catch实现。try:检测可能的会出现的语句范围;throw:抛出异常;catch:捕获抛出的异常;try{ // 可能抛出异常的语句}catch(excepti.

2020-07-02 09:58:56 373

原创 操作系统之进程间通信方式

进程地址空间相互独立,每个进程各自有不同的用户地址空间。任何一个进程的全局变量在另一个进程中都看不到,所以进程和进程之间不能相互访问,要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信(IPC,Inter Process Communication)由上表我们可以看出IPC根据功能可以分三类:通信:进程间的信息交互;同步:进程或是线程之间的同步;信号:信号是事件发生时对进程的通知机制。有时

2020-06-21 13:02:18 751 3

原创 搜索树 总结

在查找检索的内容,因此时间复杂度是一个十分重要的指标二叉排序树(Binary Sort Tree)又称二叉搜索树。它要么是一棵空树,要么是一棵具有下列性质的二叉树:1)若它的左子树不空,则左子树上所有结点的值均小于它的根结构的值;2)若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;3)它的左、右子树也分别为二叉排序树;二叉排序树的检索效率与顺序查找中二分查找的效率近似,二分查找适用于静态查找表,而二叉排序树适合于动态查找表;对于含有 n个结点的二叉排序树..

2020-06-20 21:56:17 1114

原创 数据结构中树基础知识总结

树(Tree)是n(n>=0)个结点的有限集。n=0时称为空树。在任意一棵非空树中:(1)有且仅有一个特定的称为根(Root)的结点;(2)当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1、T2、…、Tm,其中每一个集合本身又是一棵树;结点拥有的子树数称为结点的度 (Degree) 。度为 0 的结点称为叶结点(Leaf) 或终端结点;度不为 0 的结点称为非终端结点或分支结点。树的度是树内各个节点度的最大值。结点的子树的根称为该结点的孩子(Child.

2020-06-20 21:37:30 987 1

原创 RuntimeError: module must .... on device cuda:0 (device_ids[0]) but found one of them on device: cpu

在PyCharm中运行模型遇到此个问题:RuntimeError: module must have its parameters and buffers on device cuda:0 (device_ids[0]) but found one of them on device: cpu。翻译过来的意思是:模型的参数和buffer(缓存?)需要在cuda:0上运行,但是只找到设备:CPU。这类问题主要涉及到的是模型运行设备的设置,在多GPU上训练模型时,可能后面报错的错误会是but found o

2020-06-09 10:11:42 5691 1

原创 加载模型后optimizer.step()处报错:RuntimeError: expected device cpu but got device cuda:0

整体的思路如下:1、保存每个epoch模型的参数;2、如果在训练时意外终止,,则自定义再次加载意外终止处保存的模型;3、然后一切再开始,,比如接着训练测试什么的,,但是问题来了,,出现错误:RuntimeError: expected device cpu but got device cuda:0。。期望CPU设备而得到的是CUDA(GPU)。。原因:optimizer加载参数时,tensor默认在CPU上,故需将所有的tensor都放到GPU上,否则:在optimizer.s

2020-06-01 16:17:27 5977 9

原创 C/C++中数据大小、字节对齐、内存占用总结

数据大小获取sizeof()操作符,求占用空间,对数组而言大小为 type大小 * 数据个数;int a[] = {1,2,3,4,5}sizeof(a) = 20sizeof(&a) = 4特殊的:在string时,由于字符串本质上就是自带‘\0’结尾的 char[] 数组,而char 的大小有恰好为1,因此sizeof()就正好会是数组的长度;在C++98中是不允许对类的非静态成员变量使用sizeof()的,而在C++11中是合法的;根据 C99 规定,size..

2020-05-21 19:09:58 3825 9

原创 C/C++ 内存分区与内存分配

内存分布站在汇编语言的角度,一个程序分为:代码段--CS 数据段--DS 堆栈段--SS 扩展段--ES站在高级语言的角度,根据APUE,一个程序分为如下段:text data(initialized)bss heap stack;存储时存在3个区域,分别是:代码段、数据段以及BSS段;当程序被加载到内存单元时(即运行,此时可称之为: 进程),则需要另外两个区:堆和栈在x86处理器上的Linux,代码段从0x08048000单元开...

2020-05-21 18:48:01 416

原创 C/C++强制/自动类型转换

C语言自动类型转换unsigned 即为 unsigned int ,此时可以省略int 只写unsigned隐式的类型转换是安全的,而显示的类型转换是存在风险的。C语言强制类型转换C语言中 涉及地址间强制类型转换特别要注意 字节对齐 的问题;unsigned int value = 1024;// 4 个 字节cout << hex << &value << endl;bool *p = (...

2020-05-21 18:39:35 1188

原创 函数指针 指针函数 数组指针 指针数组

函数指针(回调函数)重在指针,说明其是一个指针,只不过这个指针有点特殊,指向特定形式的函数。格式 返回值类型 ( * 指针变量名) (形参1, 形参2...);int func(int x);{ /* 声明一个函数 */cout << "-----" << endl;}int (*p_func) (int x); /* 声明一个函数指针 (这个函数的返回值为int型,参数为int型)*/p_func = func; /* 将f...

2020-05-21 10:23:43 217

原创 操作系统的大小端模式

什么是大小端模式大小端存储由 CPU架构 决定。大端模式( big endian):低地址存在高位,高地址存在低位;小端模式( Little Endian):低地址存在低位;高地址高位;例如:使用大端模式的有:Mac OS、PowerPC、IBM、Sun、TCP/IP网络数据流;使用小端模式的有:x86、Linux;而ARM可以是大端模式,也可以是小端模式;如何判断CPU是大端模式还是小端模式// liunx内核的方法void check_CPU...

2020-05-21 09:52:53 1635

原创 变量(定义 初始化)、临时变量

声明与定义变量的声明(如:extern int a;声明外部变量)告诉编译器变量名字与类型;变量的定义:为变量分配存储空间,此时也可以给定初始值;函数的声明:告诉编译器有这么一个函数;函数的定义:实现函数,简言之就是带有{ };与结构体一样,类只是一种复杂数据类型的声明,不占用内存空间。而对象是类这种数据类型的一个变量,或者说是通过类这种数据类型定义了一个变量(对象),是占用内存空间的。calss Point{};Point t1; // 将调用构造函数...

2020-05-21 09:45:42 2912

原创 define typedef用法

#define只能通过简单的文本替换来实现而非传递参数;#define MUL1(x)x * x#define MUL2(x)(x) * (x)MUL1(3) // 9MUL1(3+2) // 3+2*3+2 = 11MUL2(3) // 9MUL2(3+2)// (3+2)*(3+2) = 25例题#define SUB(x,y) x-y#define ACCESS_BEFORE...

2020-05-21 09:20:43 338

原创 《Linux/UNIX系统编程手册》推荐

给各位学习Linux或是UNIX的亲推荐一本书,书名叫做《Linux/UNIX系统编程手册》这本书分为上册和下册两部分,本书描述精到,示例周详,涵盖了 Linux 底层 API 编程的详尽内容及个中细微之处。十分不错。英文名称为《The Linux Programming Interface》或为《THE LINUX PROGRAMMING INTERFACE》中文版。本书...

2019-11-06 11:01:10 1255 1

原创 已知树的遍历数组构建一棵二叉树

在构造二叉树的时候常见的是使用cin >> node_value; 来确定树的节点值,这就造成了我们调试程序每次都得手动输入一棵树的已知遍历,,极不方便,且效率低下,假如我们将这个遍历定义为一个数组,就可以省去这些麻烦啦,请看下面的例程。已知上面树的前序遍历,,我们可以由前序遍历构造二叉树,,代码如下:(运行环境:DEV C++ 5.11)#include<bits...

2019-10-21 09:49:29 682

原创 C/C++Linux技术栈开发学习资料免费下载

在学习的过程中难免要去下载点电子书作为参考,可是发现大多数资料均需要下载券、金币、积分、登录注册等等诸多限制,有时候寻找合适的资料都得花费大半天的时间,相信大家跟我一样也是深受其害,个人主要对C/C++ Linux技术开发比较感兴趣,现将自己收集到的资料分享给大家。以下包括但不仅仅是这些文档,学习是一个循序渐进的过程,因此包含的文档会持续更新......C/C++学习资料免费下载链接...

2019-10-15 16:15:33 997

原创 C 默认构造函数 拷贝构造函数

1、默认构造函数如果没有为类提供任何构造函数,那么编译器将自动成一个默认的无参构造函数。一旦用户为类定义了构造函数,哪怕只是一个,那么编译器将不再生成默认的构造函数。即当且仅当没有定义任何构造函数时,编译器才会提供默认构造函数。1.1自定义默认构造函数的方式1、给已有的构造函数的所有参数提供默认值;(推荐此种)class People{ public: ...

2019-10-13 16:08:10 734

原创 Qt之UDP通信模型

UDP应用场合:视频电话、视频会议、广播软件等对实时性要求较高的场合;TCP应用场合:大文件传输、重要文件传输等对可靠性要求较高的场合;Qt 中提供的所有的 Socket 类都是非阻塞的。常用于socket通信套接字的类:QTcpServer:用于 TCP/IP 通信, 作为服务器端套接字使用QTcpSocket:用于 TCP/IP 通信, 作为客户端套接字使用。QU...

2019-10-04 20:33:50 440

原创 Qt之TCP通信模型

UDP应用场合:视频电话、视频会议、广播软件等对实时性要求较高的场合;TCP应用场合:大文件传输、重要文件传输等对可靠性要求较高的场合;Qt 中提供的所有的 Socket 类都是非阻塞的。常用于socket通信套接字的类:QTcpServer:用于 TCP/IP 通信, 作为服务器端套接字使用QTcpSocket:用于 TCP/IP 通信, 作为客户端套接字使用。QU...

2019-10-04 20:00:19 535

原创 Ubuntu下启动anaconda-navigator出错解决方法

首先声明我使用的环境Ubuntu18.04.2 + Anaconda3在终端中输入命令anaconda-navigator若是出现如下弹框,,不急不急打开文件(注意:红色字体为用户anaconda安装路径哦!!!)vim /root/anaconda3/lib/python3.7/site-packages/anaconda_navigator/app/s...

2019-07-24 18:57:47 3234

原创 基于QT的简单答题(表白女神)应用开发

哈哈哈,,正好今天是5月20日(520),,一年一度难得的向女神表白好机会,,程序员也不该示弱啊,,先来看看这个小程序吧先来声明一开发环境(因为已在本人WIN10电脑上测试通过了哈)好啦,,进入主题啦,,哈哈哈1、启动界面启动界面简单的几句话,,勾起对方的好奇,,哈哈哈,,此界面中我将界面最大化最小化给屏蔽了,,只为在答题结束后的“惊喜”拍下伏笔,,就说坏不坏,,嘿嘿嘿...

2019-05-20 16:27:01 2679 6

原创 浮点数在C语言中的表示以及(int&) p使用

先且看一到试题#include<iostream>using namespace std;int main(){ float a = 1; cout << boolalpha << ((int)a == (int &)a)<<endl; float b = 0; cout << boo...

2019-04-28 22:22:35 1776

原创 初识、初使 MySQL

1、MySQL的安装安装MySQL的教程可以参见网上的其他教程或是参看这篇博客(非常感谢它无私的分享,也欢迎大家关注他)https://blog.csdn.net/qq_33144861/article/details/802674622、添加数据库MySQL有两种界面,一种是MySQL Command Line Client (命令行的界面),另一种我可视UI界面 MySQL Wor...

2019-01-24 15:19:35 1240 5

原创 基于QT(+MySQL)的学生信息管理系统的开发

整体的结构框图如下哈二话不说,先看实现的效果吧。软件登陆界面如图1所示图 1管理员登录界面如图2所示,用户名为root,默认密码(见代码,哈哈哈)。图2登录成功后的界面如图3所示。应对课程设计,期末大作业的老师检查足矣。(其他的功能模块,,比如体检管理,成绩管理,证书管理用户自己加哦,,同样需要MySQL中创建自己的数据库来支持,,MySQL中数据库的创建见我的...

2019-01-24 10:43:03 7112 15

原创 C++编写显示全年日历

源码下载链接:https://download.csdn.net/download/mr_xuf/10423884#include <iostream>#include <iomanip>using namespace std;class Calendar{private: int weekday; int year;public: Calen...

2018-05-18 21:04:38 6194 6

原创 Linux之root密码破解

1、启动Linux,在出现倒计时按Enter进入grub菜单2、在grub菜单中按e进入编辑模式3、选择kernel行,再按e进入编辑模式,添加 /init 1(即单用户启动模式)4、按b重启,进入Linux的字符界面,输入vim /etc/passwd5、将第一行的root:x:0....中的X删除(将root密码设置为空密码),变成 root:...

2018-05-18 10:34:54 1182

原创 Linux之sudo用户管理

以下所用到的命令有:创建用户:useradd [选项] [用户名]如:useradd Xufang会在文件系统/home中有个Xufang用户而要想添加可以登录的用户[选项]因为-m 如:useradd -m xufang_apasswd xufang_a修改用户的密码。删除用户: userdel[选项] [用户名]如:userdel -r Xufang 其中-r: ...

2018-05-18 10:11:42 605

原创 Linux之TFTP服务器配置流程

在此次配置中我们需要用到一下的的命令:加载光盘格式:mount [选项] 设备名 挂载目录范例:mount(空) /dev/cdrom(空) /mnt卸载光盘格式:umount 卸载目录范例:umount /mnt提示:在执行umount之前,保证已经用户已经退出mnt目录安装软件包格式:rpm [选项] [软件包]配置步骤:1.挂载光盘...

2018-05-18 09:41:44 9986

原创 Linux之远程登录

1、Windons 能够Ping 通Linux(注意)2、关闭Linux的防火墙/etc/init.d/iptables stop3、登陆使用VNC登陆(图形界面登陆);软件下载链接:https://pan.baidu.com/s/1PMN4qRUF1uvYBpo-Nf13iQ 密码:4o98(1)在光驱中安装tigervnc-server-1.0.90-0.17.XXXXX...

2018-05-17 21:35:16 261

原创 Linux之网络配置(虚拟机下)

在虚拟机下 的Linux的网络配置可分为虚拟机的网络配置、Linux的网络配置。1、VMware的网络配置1.1VMware的网络模式1.1.1桥接模式(Bridge)直接连接到物理网络。占用真实网络的IP地址,可以像一台实际的电脑(可接入互联网的)一样与网络中其它的电脑相互访问数据。如图1所示。图11.2 NAT模式(网络地址转换模式)共享主机的IP地址。(一般是...

2018-05-17 21:15:35 603

原创 Linux之Vim编辑器的简单使用

vim编辑器有三种模式:命令模式、插入模式、底行模式用vi或vim打开一个文件,不存在即可新建;比如在home目录下 vi hello.c 显示为一个新的文件(此时为命令行模式),输入i 进入插入模式,输入自己的文本;按键盘esc键退出插入模式,按:进入底行模式(只能从命令行模式进入底行模式),出现冒号后输入w表示写,q表示退出。命令模式下常用快捷键说明:[Ctrl+b]:向上翻页...

2018-05-17 20:37:48 251

原创 Linux之文件的压缩与打包

概念:打包和压缩。打包是指将一大堆文件或目录变成一个总的文件;压缩则是将大文件通过一些压缩算法变成小文件。这源于Linux中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩(比如使用gzip bzip2命令)压缩文件的扩展名大多是:*.gz(使用gzip命令压缩的文件) 、*.bz2(使...

2018-05-17 17:28:06 363

原创 Linux之文件属性与权限

在Linux终端中输入ls -l,打印出的情况如下图1所示图1以图1中第四行(汉字公共的所在行)为例进行说明。d rwx r-x r-x. 2root root 4096 4月 26 20:57 公共的在以上示意图中第一列(灰底):表示文件的类型与权限在第一列中一共有10个字符,以1,3,3,3分组,其中r为可读;w为可写;x为可执行;rwx位置不变,没有以-...

2018-05-10 12:55:21 1214

原创 Linux之文件与目录操作

在Windows中,对文件夹操作直接右击,其基本的操作几乎都显示出来了,在Linux下也有相应的对文件和目录操作命令常用到的命令如下:cd (选项) (参数)用来切换工作目录到指定目录,后跟的目录路径可以是绝对路径也可以是相对路径。绝对路径的写法一定是由根目录/写起,而相对目录路径的写法不是有根目录写起。选项及参数请查看手册!.或是./代表此层目录;..表示上一级目...

2018-05-09 11:04:47 275

原创 Linux之初次接触命令

在Windows中,大家一定用过诸如ipconfig指令查询自己所使用电脑的IP地址,也可能用过Ping指令测试自己网络的通畅性。除此之外呢?其他指令除专业人员真的是知之甚少。在Linux下root用户大约有3053条指令(终端中连续按两次Tab键会弹出提示),图1-1在图1-1中[root@localhost~] #root:表示当前用户的账户。@后:当前主机名(loc...

2018-05-08 23:43:52 267

原创 Linux之目录

在安装了Linux之后以root用户登陆后,本人的心情是十分激动的,迫不及待的想要试试,依照Windows下的习惯性动作点了计算机图标,再进到文件系统内就出现如下图1-1所示界面。图1-1下面对各个文件夹/:根目录(在最上面黑色栏中的),所有的目录都是由根目录衍生出来的,同时也与开机、还原、系统修复有关,根目录下一般只存放子目录,不存放文件。/bin:存放可执行的二进制文...

2018-05-08 17:42:49 267

UDP_Model.rar

为了解Qt的UDP流程,现提供Qt之UDP通信模型源码,实现client1和client2的通信。

2019-10-04

TCP_CS_Model.rar

为了解Qt的TCP流程,提供Qt之TCP通信模型源码,实现client和server直接的通信。

2019-10-04

深度学习四大名著之Hands-On.Machine.Learning.with.Scikit-Learn.and.TensorFlow

这是个深度学习四大名著之一的《Hands-On.Machine.Learning.with.Scikit-Learn.and.TensorFlow》压缩包,,里面包含高清英文版PDF(包含书签,源码可复制),,和本书配套的源码及源码在github上的链接,此书书中文参考链接,,愿与诸君共勉,,加油加油!!!

2019-07-26

深度学习四大名著之Python深度学习(Deep Learning with Python)

这是个深度学习四大名著之一的《Deep Learning with Python》压缩包,它中文名字叫做《Python深度学习》,里面包含中英文版高清PDF(包含书签,源码可复制),本书配套的源码及源码在github上的链接,还包含数据集在百度云上的链接,与君共勉,加油加油!

2019-07-26

MyPeppa.rar

基于QT的简单答题(逗女朋友开心的)应用软件源码

2019-07-25

MyPeppa_Release_V1.0.rar

正好今天是5月20日(520),一年一度难得的向女神表白好机会,程序员也不该示弱啊,这是一个向女神表白的答题系统哦!哈哈哈

2019-05-20

基于QT(+MySQL)的学生信息管理系统的开发

基于QT(+MySQL)的学生信息管理系统的开发

2019-01-24

C++编写的显示全年的日历。

C++编写的显示全年的日历,经过了测试,输入需要的年份,能够正确打印出准确的日历

2018-05-18

C++ Primer Plus中文版(第六版)

C++ primer Plus 中文版(中文版)是C++程序员学习和手册翻阅必不可少的书籍。

2018-05-18

空空如也

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

TA关注的人

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