自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Xunlan_博客

把所有知识分享!

  • 博客(38)
  • 问答 (8)
  • 收藏
  • 关注

原创 【JAVA】【入门向】| 使用Java发送邮箱【javax.mail】

【java】【入门向】在写一些项目时(比如涉及到账号需要找回),我们不可避免需要用上邮件,就跟随我学习使用java自动发送邮件吧。(使用javax.mail)

2022-10-06 16:38:29 3431 1

原创 【C/C++】VS的cl命令 | 配置环境变量 | 使用命令行编译C/C++程序

【C/C++】【VS】【配置环境变量】作为一个C++ (C语言) 程序员,VS可谓是编写代码的神器(天下第一IDE!)。但是它的弊端也很明显,那就是程序太大,不知道读者有没有这样的经历:心血来潮想打一段突发奇想的代码,却为VS的启动速度而高血压…另外,当学习编译.dll时,使用VS的图形化ui界面也可能会让我们一知半解…于是,我们可以来学习使用命令行编译C/C++程序。.........

2022-08-13 11:13:38 8883 7

原创 【C++】| 将程序打包成可执行文件(.exe)| Visual Studio

【Xunlan_Blog】〔VSC++〕在VSC++中想要打包程序为exe文件,需要先安装MVSIP扩展,使用Setup Project,然后对其进行配置。

2022-03-13 11:48:46 36098 16

原创 Win11更新或更改时间后闪白屏的解决方法

win11更新或者更改时间后出现闪白屏的现象的解决方法,先打开任务管理器,新建任务打开命令行,输入control打开控制面板调整时区/日期

2022-03-10 14:06:57 7354 4

原创 无法识别的VS2019的卸载方法(含清理注册表)

文章目录前言【STEP1】删除相关文件【法1】· 恢复相关文件【法2】· 运行卸载程序【法3】· 使用专用卸载工具VSUninstaller【法4】· 手动卸载【STEP2】删除注册表第一步第二步前言我用vs2019有差不多一年吧,本来安装完成后什么问题都没有,我也很久没关注过installer了,但是前几天当我打算装一个新扩展时,怎么点都没反应,一看installer,发现里面没有显示我安装的Visual Studio Community 2019,想卸载重装,但卸载也是在installer上的,它

2022-03-10 10:54:07 8569

原创 【C++详解】C++异常处理 | 异常规格说明符

上一篇博客中,我们认识了三个处理异常的关键字,如何了解函数中可能出现的异常呢?于是出现了异常规格说明,说明函数可能抛出的异常

2021-12-21 19:02:00 808

原创 C++关键字 | throw、try、catch异常处理关键字

C++的异常处理关键字:throw、try、catch.异常是指在程序运行时发生的特殊情况,比如尝试除以零的操作。我们认识了如何抛出异常、捕获异常、重载异常。关于异常规格说明符,见下一篇文章。期待你的关注!

2021-12-20 13:05:38 2253

原创 JAVA漏洞log4j | 我的世界遭黑客袭击

我的世界java版服务端、客户端存在安全隐患。漏洞利用log4j2在打印日志时会自动将形如${...}的文本替换为功能文本发送恶意链接。

2021-12-13 21:24:25 6786

原创 稀奇古怪 | C/C++宏预处理器参数宏的运算符优先级问题

#define参数宏导致的与原目的不同的效果。由于参数宏是替换,所以并不是函数,可能会出现运算符优先级之类的问题

2021-12-07 20:55:20 355

原创 C++游戏梦 | EasyX详解 | ⑥:EasyX函数-绘图相关〔2〕

继续认识easyx中的绘图函数,学习如何绘制多边形、矩形、圆角矩形及区域填充

2021-12-07 12:43:11 3871

原创 C++详解 | 模板

模板是泛型编程的基础,是创建泛型类或函数的蓝图或公式。模板分为函数模板和类模板。它在编程中的应用十分广泛。

2021-12-02 22:16:02 149

原创 【C/C++】详解 | #pragma预处理器参数详解

#pragma的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。关键语法:#pragma PARA

2021-12-02 13:34:03 2447

原创 C++详解 | 条件预处理器

文章目录一、前言二、条件预处理器三、#if 预处理器四、#ifdef 预处理器五、#ifndef 预处理器一、前言在阅读本文之前,您需要知道:#define预处理器二、条件预处理器条件预处理器,类似于if语句,但会在编译时被执行,使用它们可以仅对特定代码块编译,条件预处理器均以#endif结束。这类预处理器有:#if#ifdef#ifndef三、#if 预处理器以下是#if的标准语法:#if statement...#endif其中,statement是一个可以输出b

2021-11-29 13:28:43 4295

原创 C++详解 | #define预处理器

文章目录一、预处理器二、语法三、原理三、参数宏四、类型宏五、#和##运算符一、预处理器预处理器是一些指令,指示编译器在实际编译之前所需完成的预处理。所有的预处理器指令都是以井号(#)开头,只有空格字符可以出现在预处理指令之前。预处理指令不是 C++ 语句,所以它们不会以分号(;)结尾。二、语法#define 预处理指令用于创建符号常量。该符号常量通常称为宏,指令的一般形式是:#define marco-name replace-text三、原理考虑以下代码:#include<io

2021-11-26 12:27:05 5259

原创 C++游戏梦 | EasyX详解 | ⑤:EasyX函数-绘图相关〔1〕

<<<上一篇—④:EasyX函数-图形样式系列文章①:安装及基本概念②:EasyX函数-设备相关③:EasyX函数-颜色模型④:EasyX函数-图形样式文章目录系列文章前言九、EasyX函数 之 绘图相关〔1〕圆&椭圆&扇形:前言作者也是个小白,本【教程】充其量算个学习笔记,若有写的不正确的地方还请指教。九、EasyX函数 之 绘图相关〔1〕圆&椭圆&扇形:...

2021-11-24 20:26:38 8107

原创 C++零基础 | 超详细C++入门到入坟 | 〔3〕数据类型

系列文章目录①:入门②:基本③:数据类型文章目录系列文章目录写在前面一、基本数据类型二、typedef声明三、枚举类型写在前面本系列教程为C++初学者打造,大佬请直接无视。一、基本数据类型C++中有7种最基本的数据类型:类型含义int整型(整数)float单精度浮点数(~7)double双精度浮点数(~15)bool布尔(真或假)char字符void无类型wchar_t1宽字符基本类型可以用一些修饰符修饰:

2021-11-23 18:56:17 299

原创 数据类型储存一览

各种变量类型在内存中存储值时需要占用的内存,以及该类型的变量所能存储的最大值和最小值。

2021-11-23 18:43:57 389

原创 C++零基础 | 超详细C++入门到入坟 | 〔2〕基本标识

系列文章目录①:入门②:基本C++基本系列文章目录写在前面一、预处理二、注释三、分号三、定义变量写在前面本系列教程为C++初学者打造,大佬请直接无视。一、预处理如果你稍微有一些编程知识或学习过其他编程语言,你应该知道,一个程序的执行分为编译和运行两部分,预处理,顾名思义,是编译器在编译阶段提前进行的一些操作,保障程序的正确运行。C++中,这些操作被称为 预处理器,均以预处理符#开头。预处理器有许多,这里只介绍 包含#include,后面会慢慢讲到更多。#include,包含,C++的

2021-11-23 13:30:46 642

原创 C++保留字&三字符组一览

以下为 C++ 中的保留字(关键字)。这些保留字不能作为常量名、变量名或其他标识符名称。asm else new this auto enum operator throw bool explicit private true break export protected try case extern public typedef catch false register t

2021-11-23 13:23:28 532

原创 稀奇古怪 | C/C++输出printf()函数的自增自减问题

文章目录引入探索扩展引入先看这段程序:#include<stdio.h>int main(){ int x=0; printf("%d %d %d",x,++x,x--);}会输出什么?刚开始,我以为会输出0 1 1,但编译发现结果是0 0 0!再试了试cout语句,依然如此。探索为什么?尝试分开三个printf():printf("%d ",x);printf("%d ",++x);printf("%d" ,x--);输出0 1 1。很明显,是printf

2021-11-22 18:55:24 1038 1

原创 C++详解 : Lambda函数表达式

文章目录§ · 前言一、基本二、描述三、语法四、调用§ · 前言在阅读本文前,您需要知道基本的函数定义方式如:void outp(const char* s){std::cout<<s;}文中的一些标识符:ret-type : 该函数的返回值。func-name : 函数名称。para : 参数(列表)。statement : 函数主体。capture : 捕捉列表。一、基本我们知道,一般的函数定义方式:ret-type func-name(para) {stat

2021-11-19 22:54:08 643

原创 C++零基础 | 超详细C++入门到入坟 | 〔1〕简介、安装、配置

系列文章目录①:入门初见C++系列文章目录写在前面一、简介二、安装GNU的安装UNIX/Linux系统MAC OS X系统Windows系统Visual Studio写在前面本系列教程为C++初学者打造,大佬请直接无视。一、简介C++ 是一种高级语言,它是由 Bjarne Stroustrup 于 1979 年在贝尔实验室开始设计开发的。C++ 进一步扩充和完善了 C 语言,是一种面向对象的程序设计语言。C++ 可运行于多种平台上,如 Windows、MAC 操作系统以及 UNIX 的各种

2021-11-17 12:39:06 1223

原创 C++详解:枚举类型 --- enum | Xunlan_blog

文章目录一、概念二、定义枚举元素表三、定义枚举对象的操作四、要点&技巧一、概念枚举类型 (enumeration),是C++中的一种派生数据类型,是用户创建的一个集合,可以增加程序的可读性,在一些需要重复用到一些元素时颇有益处。二、定义枚举类型的定义格式:enum enum_name {/*enum_table*/};enum enum_name {/*enum_table*/} enum_val;其中:enum :枚举类型关键字,声明后面定义的是枚举类型。enum_nam

2021-11-16 13:33:44 10822

原创 C++游戏梦 | EasyX详解 | ④:EasyX函数-图形样式

图像对象 - IMAGE填充样式对象 - FILLSTYLE画线样式对象 - LINESTYLE图形样式设置背景颜色 - setbkcolor()获取背景颜色 - getbkcolor()

2021-11-04 20:05:18 3288

原创 C++游戏梦 | EasyX详解 | ③:EasyX函数-颜色模型

颜色模型交换颜色 - BGR()合成颜色 - RGB()分离颜色 - Get*Value()HSL转换 - HSLtoRGB() 、RGBtoHSL()HSV转换 - HSVtoRGB() 、RGBtoHSV()获取灰度 - RGBtoGRAY()

2021-10-24 15:09:24 4508

原创 C++游戏梦 | EasyX详解 | ②:EasyX函数-设备相关

初识EasyX,认识了设备函数:清空设备 - cleardevice()关闭窗口 - closegraph()获取缩放因子 - getaspectratio()重置 - graphdefalts()初始化窗口 - initgraph()设置缩放因子 - setaspectratio()裁剪区 - setcliprgn()设置坐标原点 - setorigin()

2021-10-23 20:38:03 5404 1

原创 C++游戏梦 | EasyX详解 | ①:安装及基本概念

初识EasyX,下载:easyx.cn,三个基本概念:颜色、坐标、设备

2021-10-23 18:39:47 4450 1

原创 [ BFS解法 ] | CF1579F-Array Stabilization(AND version)

文章目录题目题意输入数据样例思路题目洛谷链接或codeforces链接。题意已知长度为nnn的数组a[n]a[n]a[n]和ddd,且a[n]a[n]a[n]是0/1数组。定义一种操作:令a′[n]a'[n]a′[n]为a[n]a[n]a[n]循环右移ddd位后的数组,接着令ai=ai&bia_i=a_i\&b_iai​=ai​&bi​。问在多少次操作后a[ ]a[\space]a[ ]能全部变为0。若没有可能,输出-1。输入第一行一个

2021-10-22 23:59:05 140

原创 C++算法篇:DFS超详细解析(2)--- tarjan算法求无向图割边

<<<上一篇系列文章目录①:无向图基本概念②:tarjan算法求无向图割边前言第一次写算法,讲得肯不透彻,有误还请指教awa文章目录系列文章目录一、回顾二、tarjan算法一、回顾先来回顾一下dfs的基本框架://存图方式:vector(g[N])void dfs(int u){//u:当前节点 vis[u]=true; for(int& v:g[u]){//访问u连到的每个节点 if(!vis[v]) dfs(v); }}二、tarja

2021-10-20 19:51:46 1575

原创 C++算法篇:DFS超详细解析(1)--- 无向图基本概念

文章目录一、DFS是什么?二、DFS的基本框架三、DFS-tree一、DFS是什么?    DFS(Depth First Search) ,即 深度优先搜索 ,是一种遍历图的方式,对于下图(设从u开始访问)若先访问了v点:则下一步会访问v的子节点w点:发现无路可走,则回溯回v,再回到u,之后前往x。总结一下,dfs会在搜索到新点时优先访问以改点为起点的子节点,并在所有子节点访问完成后回溯,可以看出,dfs和递归殊途同归。相反地,有BFS(Breath First Search)广度优先搜索,

2021-10-19 20:26:17 4156 1

原创 JAVA17---安装+配置环境变量 | JAVA安装完整教学

java17来啦!【小白专用】安装java必须配置三个变量:java_homeclass_homepath希望可以帮到你!

2021-09-27 12:37:26 54179 13

原创 C++详解:常量指针&指针常量

系列文章目录:C++指针(1)C++指针(2)C++常量(1)C++常量(2)文章目录前言一、指向常量的指针 指针常量总结二、指向非常量的指针 常量指针总结三、底层const和顶层const四、`const`和`*`的组合前言  在前面的文章中,我们分别认识了 常量 和 指针,这次,我们会将他们结合起来,认识C++中的常量指针和指针常量。一、指向常量的指针const int N=0x7fffffff;//定义常量int* ptr=&N;//定义指针ptr,指向常量Nst

2021-09-12 11:41:07 1460 1

原创 C++详解:关于常量(2)

在C++常量(1)中,我们初步了解了字面常量,在这篇文章中,我们会对定义常量进行介绍.常量的两种定义方式[#define]和[const],及它们的区别和联系

2021-09-09 13:35:40 158

原创 C++详解:关于常量(1)

系列文章目录关于常量(1)提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档前言这篇文章将会让你对c++中的常量有更加透彻的理解。一、常量是什么?常量是固定值,在程序执行期间不会改变。这些固定的值,又叫做字面量。常量可以是任何的基本数据类型,可分为整型数字、浮点数字、字符、字符串和布尔值。常量就像是常规的变量,只不过常量的值在定义后不能进行修改。常量可以分为两类:定义常量(我更乐意叫赋值常量) & 字面常量,这一篇主要介绍字面常量。

2021-09-08 18:10:41 588

原创 C++详解:关于malloc()

使用:原型:extern void *malloc(unsigned int num_bytes);头文件:#include<malloc.h> 或:#include<alloc.h> (二者内容完全一致)功能:分配长度为num_bytes字节的内存(块),会返回指向该内存的指针。 若内存不足,则返回NULL。检查:同动态内存(见C++动态内存)一样,我们可以使用判断语句检查内存是...

2021-09-07 13:29:09 10020 2

原创 C++详解 --- 关于指针(2)

上次我们初步了解了c++中的指针(关于指针(1)),这次,让我们看看指针的妙用。指针实现链表 链表是一种复杂的数据结构,在C++中实现链表的方式多种多样,这里主要讲一种 代码:#include<iostream>#include<stdio.h>using namespace std;struct node{ int data,num;//数据、序号 struct node * next;}*h...

2021-09-07 12:51:38 321

原创 C++ --- 关于类(1)

C++ 中的类(Class)可以看做C语言中结构体(Struct)的升级版。结构体是一种构造类型,可以包含若干成员变量,每个成员变量的类型可以不同;可以通过结构体来定义结构体变量,每个变量拥有相同的性质 C++ 中的类也是一种构造类型,但是进行了一些扩展,类的成员不但可以是变量,还可以是函数;通过类定义出来的变量也有特定的称呼,叫做“对象”。[例1][例2] C语言中的 struct 只能包含变量,而 C++ 中的 class 除了可以包含变量,还可以包含函数。display() 是用来处理成员...

2021-09-05 20:01:17 102

原创 C++详解:关于指针(1)

定义:指针是一个变量,它储存着另一个的变量的地址(在计算机中储存的位置)。符号: &:一元运算符,后面紧跟一个变量名,会返回该变量的地址。 *:一元运算符,后面紧跟一个(指针中保存的)地址,会返回该地址指向的值。 ->:指针成员访问修饰符,当一个指向类/结构体的指针需要访问所指向对象的成员时,需要使用该符号,其中: class Myclass{ private: int a; ...};Myclass ptr;

2021-09-05 19:28:20 414

空空如也

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

TA关注的人

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