C++
老铁Infi
这个作者很懒,什么都没留下…
展开
-
C++中类的普通对象,指针对象初始化详解,何时表示对象,何时表示函数。
类的普通对象和指针对象如何做初始化,何时表示函数,何时表示对象,如何使用vector构造一个地图原创 2022-11-22 14:35:46 · 1256 阅读 · 0 评论 -
win32版俄罗斯方块(学习MFC必不可少)
上键改变方块形状,空格暂停,得分显示。原创 2022-06-13 14:53:37 · 767 阅读 · 0 评论 -
C++文件系统(掌握文件清空病毒原理)
C++文件系统,文件清空病毒原理原创 2022-05-12 17:01:42 · 852 阅读 · 0 评论 -
C++正则表达式常见使用
1:**匹配** regex_match(string str,regex reg)2:**捕获** bool regex_search(string str,smatch result,regex reg);3:**替换** string regex_replace(str,oldStr,regex reg,string replaceStr,int flag);原创 2022-04-28 16:06:58 · 1391 阅读 · 0 评论 -
C++类型推断auto,decltype的使用,typeid(求类型名)。
1:auto的使用2:decltype的使用3:typeid的使用 (打印类型的名字)原创 2022-04-27 13:40:16 · 1033 阅读 · 0 评论 -
C++三种 智能指针 的常见使用方法(shared_ptr,weak_ptr,unique_ptr)
shared_ptr,weak_ptr,unique_ptr 的常见使用原创 2022-04-27 13:18:38 · 1166 阅读 · 0 评论 -
C++异常处理,标准库中异常
本文会围绕以下六个知识点展开介绍 标准库中的异常在最下边No1.异常处理机制问题的检测和问题的处理分开A函数发生问题,不做处理,抛出异常,放到A函数调用者B函数处理,或者B调用者C函数处理(因为只要出现异常,本函数后边的内容就不会执行了,所有只能在其他地方处理),等效于问题的延期处理。异常是什么?任何东西都可以当作异常处理, 错误只是异常的一种No2. 异常处理用的几个关键字2.1 throw 抛出异常2.2 try 捕获异常2.3 catch 处理异常注意问题:try必须要跟c原创 2022-04-26 09:26:41 · 681 阅读 · 0 评论 -
黄金矿工两百行基于Easyx
直接上效果图使用:按空格伸出钩子,再没抓到东西之前,再按一次空格,钩子会收回。由于图片音乐资源的限制,这里不好放,所以直接给网盘链接。网盘链接点我提取码:vdyl原创 2022-04-25 08:30:31 · 685 阅读 · 2 评论 -
搞懂C++字符流的使用,不同类型间的转换
C++字符流的使用,及不同类型间的相互转换如:char和string的转换,int和char的转换。从此C++字符流不在陌生。原创 2022-04-21 05:00:00 · 848 阅读 · 0 评论 -
搞懂C++输入输出流的原理及使用。
一文搞懂C++输入输出流,从此不再陌生。cin.get(),cout.put().cin.getline(),cout.write()讲解原创 2022-04-20 12:47:24 · 3798 阅读 · 0 评论 -
搞懂C++控制符的使用,C++输出精度设置等。
C++输出格式,输出精度控制,控制符设置以及撤销从此控制符不在陌生原创 2022-04-20 13:08:26 · 1534 阅读 · 0 评论 -
搞懂C++文件流, 文件读写,fstream、seekg、seekp等的使用。
彻底搞懂C++文件流。如何通过get(),put(),getline(),writr()以及read()配合读写文件。以上函数指的是流对象内置函数,如cin.getlin()原创 2022-04-20 00:11:32 · 5592 阅读 · 1 评论 -
迷宫找出口(BFS最短路)
#include <iostream>#include <vector>#define COLS 10#define ROWS 10using namespace std;struct MyPoint{ int y; int x; friend bool operator==(const MyPoint& p1, const MyPoint& p2);};bool operator==(const MyPoint& p1, const原创 2021-12-16 20:52:26 · 426 阅读 · 1 评论 -
从M个数中选K个数进行排列组合(非swap交换)
#include <algorithm>using namespace std;#define N 100001int aa[N], bb[N], ans; int M, K;void Print(){ for (int i = 1; i <=K; i++) { cout << bb[i] << " "; } cout << endl;}void dfs(int x,int h){原创 2021-12-15 09:01:45 · 926 阅读 · 0 评论 -
图的DFS/BFS遍历,简易易懂
#include <iostream>#include <queue>using namespace std;bool cmp[100];queue<int>Myqueue; struct Node //链表结构{ int vex; int weight; Node* next;};typedef struct Hnode //头结构{ char data; //节点数据 Node* head;}*List;typedef原创 2021-12-14 17:42:21 · 739 阅读 · 0 评论 -
C++类和结构体运算符重载区别
运算符的重载类重载友元重载下边我将用结构体和类两种方式来展示他们各自的重载方式。其中结构体只有一种重载方式相当于类中的友元重载,而类中分为类重载和友元重载一、结构体里面的运算符重载方式:(用到了+和<<的运算符重载)#include <iostream>using namespace std;struct score{ score(int math):math(math){} score(int math=0,int english=0):math(math)原创 2021-11-27 22:56:32 · 417 阅读 · 2 评论 -
图的邻接矩阵实现
#include <iostream>#include <string>#define WUXIANG 0using namespace std;struct Graph{ int vertexs; //头节点 int edges; //边 char* pVertex; //用来存放所有的顶点。 int** ppEdge; //用来存储所有的边。};//创建图对象Graph* CreateGraph();//释放图对象void destroyGraph原创 2021-11-26 06:14:30 · 158 阅读 · 0 评论 -
深度寻路(迷宫找出口)数组栈和堆栈两种方法实现
数组栈实现#include <stdio.h>#include <stdlib.h>#define CRT_SECURE_NO_WARINGS#pragma warning(disable:6011)#pragma warning(disable:6386)/*0 0 1 1 11 0 0 1 11 1 0 0 11 0 0 1 11 1 0 0 01 1 1 1 1 1 1 1 1 11 0 1 0 1 1 0 1 0 1 1 0 1 0 1 1 0 1原创 2021-11-23 19:22:48 · 694 阅读 · 0 评论 -
01背包问题,简易AC代码加详细讲解,地宫寻宝,波动数列等DP问题。
01背包问题题目描述有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。 输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 件物品的体积和价值输出格式输出一个整数,表示最大价值。两种方式解决这道题,一维和二位二维方式:[外链图片转存失败,源站可能有防盗原创 2021-11-21 00:15:00 · 357 阅读 · 1 评论 -
波动数列,简易AC代码,详细讲解。
波动数列这道题真的是需要自己花时间来理解细节。思路:如下图所示,该序列的首项是x,公差为set,set={a,-b};通过下边的第一幅图我们可以知道,set的数量为n*(n-1)/2 (公式:首项加末项除以2)我们令cnt=n*(n-1)/2 (也就是set的数量) 通过这些分析我们可以知道满足这么一个条件:序列总和=Sn=nx+cntset我们假设a的数量为num1,因为a,b数量的总和是cnt,则b的数量就是cnt-num1; 可推出一个表达式nx+a * num1-b(cnt-nu原创 2021-11-19 23:53:53 · 1019 阅读 · 1 评论 -
地宫寻宝蓝桥杯,详细讲解。
地宫寻宝 (用了两种解题思考方式,大致相同,看哪种更适合你理解)解题思路:题目说了如果遇到比当前最大价值还要大的物品(所以当前最大价值的物品一定要用一个变量来进行记录,方便后续每次的比较),可拿可不拿(所以有两种情况,拿或者不拿);这道题采用递归的方式再好不过了,其实可以把递归的方法理解为能把地图上的每一可能的坐标(每一种可能的情况)都考虑进来然后进行一个比较。下边直接上代码。#include <iostream>using namespace std;int n,m,k,Count原创 2021-11-18 09:44:56 · 350 阅读 · 0 评论 -
蚂蚁感冒,蓝桥杯,简易AC代码讲解
蚂蚁感冒问题题目这里就不省略了,请自己先阅读了解题意再来看下边的解析!本题思路:这道题的需要明白一个道理就是两只蚂蚁相遇就会各自反向,把这个过程理解为两只蚂蚁穿过了对方,这样理解对本题有一定帮助。一般情况,题目说了第一个数据为感冒的蚂蚁,如果是在感冒蚂蚁左边的蚂蚁,并且向着这只感冒蚂蚁方向的蚂蚁一定会被感染,同理,这只感冒的蚂蚁右边的蚂蚁,只要是向着这只感冒蚂蚁走的都会被感染。特殊情况:这只感冒的蚂蚁(即第一个数据,身处边界,比如在最左边,并且它行走的方向也是左边,那么它右边的蚂蚁即使是向着它的方原创 2021-11-17 15:05:23 · 309 阅读 · 0 评论 -
二分、前缀和(激光炸弹)几道例题的详细讲解,帮助理解相关知识点
二分和前缀和激光炸弹#include <iostream>using namespace std;int map[1001][1001];int main(){ int n ,r; cin >> n >> r; int ra, rb; ra = rb = r; for (int i = 0; i < n; i++) { int x, y,w; cin >> x >> y>>w; x++;//原创 2021-11-15 18:39:35 · 378 阅读 · 0 评论 -
c++高精度一系列的算法(包含阶乘求和)
高精度运算一、高精度加减高精度以及高精度乘低精度。#include <iostream>#include <vector> //使用了vector动态数组的方法来实现。#include <string>using namespace std;vector<int> add(vector<int> A, vector<int> B){ cout << "高精度加原创 2021-11-03 12:23:32 · 1278 阅读 · 0 评论 -
高精度的相关运算(加减乘)
直接上代码#include <iostream>#include <vector>using namespace std;vector<int>add(vector<int>&A,vector<int>&B){ cout << "高精度加法:\n"; if (A.size() < B.size()) return add(B, A); int t = 0; vector<int>C;原创 2021-11-02 19:01:24 · 81 阅读 · 0 评论