当前位置: 首页 > news >正文

C++学习/温习:新型源码学编程(三)

写在前面(祝各位新春大吉!兔年如意!)

  • 【本文持续更新中】
  • 面向初学者撰写专栏,个人原创的学习C/C++笔记(干货
  • 所作源代码输出内容为中文,便于理解
  • 如有错误之处请各位读者指正
  • 请读者评论回复、参与投票,反馈给作者,我会获得持续更新笔记干货的动力。

致粉丝:可以在阅读完我的文章后,自己尝试写一点原创心得(哪怕一行字也好)。
               希望众(尽管840个🤣)粉丝多多支持、浏览、自我创作@_@


知识点概览

写在前面(祝各位新春大吉!兔年如意!)

知识点概览

C++ Primer Plus编程练习4.13笔记

一.姓名成绩年龄打印

1.预处理指令#define

2.char类型

3.getline(); C++库函数(重点)

二.string类

 1.头文件 string 

2.string声明变量

3.getline()函数在string类操作

三.使用strcpy和strcat复制字符串

1.Visual Stdio2022 编译器解除警报错误

2.strcpy 复制字符串的函数

3.strcat 附加字符串的函数

四.使用string对象和string类的粘贴与拼接

1.string类的粘贴方法

2.string类的输入(见前文)

3.string类的拼接方法

五.C++结构(OOP的基石)

 六.C++结构数组

结语

C++ Primer Plus编程练习4.13笔记

一.姓名成绩年龄打印

编写一个C++程序,输出姓名、成绩与年龄。注意,英文输入姓名包含多个单词(中间有空格)。
另外,上调成绩字母,若输入A则上调为B。

//4.13_1.cpp
//整行输入函数cin.getline();
#include<iostream>
#define NameMax 100
using namespace std;
int main()
{char firstName[NameMax];//英文习惯,名前姓后char lastName[NameMax];//lastname为姓,firstname为名char grade;int age;cout << "请输入你的名:\n";cin.getline(firstName,NameMax);//库函数,接受字符串对象名与字符串长度信息做参数cout << "请输入你的姓:\n";cin.getline(lastName, NameMax);//整行输入,检测到Enter自动截断输入cout << "请输入你的成绩(字母等级):\n";cin >> grade;grade += 1;cout << "请输入你的年龄:\n";cin >> age;cout << "姓名:"<<lastName<<","<< firstName <<endl;cout << "成绩:" << grade<<endl;//等级+1,ASCII码+1cout << "年龄:" << age << endl;return 0;
}

1.预处理指令#define

#define NameMax 100
定义全局常量NameMax为100
就像 #include<iostream> 一样,在C++预处理器中,编译器提前了解到要使用头文件 iostream ,这条预处理指令的宏 NameMax 定义为 100 ,全局可用,自动将出现 NameMax的地方置换为值100。

2.char类型

char firstName[NameMax];
char lastName[NameMax];
char grade; 
char类型可以声明字符或字符串(数组)。
char 变量名 ;声明一个字符,可以容纳数字、字母等。
单一字符可以执行算术运算,本例中读取输入的字母,并给其ASCII码+1,再有cout来将类型自动还原,从ASCII码值转换为字符。
char 变量名[字符串长度]; 声明一个字符串,可以容纳多个数字、字母,句子、词组等信息。
此程序将字符串长度设置为名叫NameMax值为100的常量。

!注意:字符串(数组)实际存储比数值长度短1的

3.getline(); C++库函数(重点)

面向行的输入getline()函数,通常有两个参数(后续介绍第三个参数),在头文件istream中,是C++中cin输入的类成员函数,可以不受空格影响,而是在读取到 Enter 键或达到输入上限时截断输入。
示例:
cin.getline(firstName,NameMax); cin通过句点“.”操作符访问它的成员函数getline(); ,示例中让getline函数读取长度为NameMax-1的名叫firstName的数组(字符串),并将读取值返回给该数组。
注:因为函数读取最后会加上空字符标志字符串(数组)结束,同时不会储存换行符,而get();函数会读取并储存换行符。
常用格式:
cin.getline(数组名,数组长度)

源代码运行示例:

二.string类

用string类改写程序清单4.4
(此处不展示原程序清单4.4,原程序使用cin.getline()函数,定义2个长为20的字符串存储姓名与甜点,再打印出来。)

//4.13_2.cpp
//C++中的string类,打印姓名、甜点
#include<iostream>
#include<string>//包含string类的头文件
using namespace std;
int main()
{string name, dessert;//声明2个string类变量cout << "Enter your name:\n";getline(cin,name);	//获取整行输入,参数1的cin说明从哪里获取输入//参数2的name是string类变量,自动调整变量长度//注:char[];声明数组(字符串)类型,string声明普通变量。cout << "Enter your favourite dessert:\n";getline(cin, dessert);cout << "I have some delicious " << dessert<< " for you," << name<<".\n";return 0;
}

 1.头文件 string 

旧版C++实现中使用C++库中头文件<string.h>,新标准中直接使用<string>头文件

2.string声明变量

string类与char类型不同, char[]; 声明数组(字符串)类型, string 声明普通变量
像其他声明一样,只需要在 string 后加上变量名即可。

3.getline()函数在string类操作

常用格式:
getline(cin,string类变量名)

这里的getline函数不是cin的类成员函数。因为最初设计getline时没有string类,所以在cin中也没有直接的对于string类的输入操作。后加入了上述格式的整行输入操作,然而这里的getline()函数不附属于cin类之下,存在于头文件中。
上面的getline函数 getline(cin,string类变量名)  中,cin为getline函数指明获取输入的位置,而长度是由string类的变量自己调整的,所以省去具体长度数值。
输出时string类变量按照欧通变量处理。

源代码运行示例:

三.使用strcpy和strcat复制字符串

编写一个程序,要求用户先输入其名,再输入其姓;然后程序使用一个逗号和空格将姓和名组合起来,并存储和显示组合结果。请使用char数组和头文件cstring中的函数。

//4.13_3.cpp
//使用strcpy和strcat复制字符串
#pragma warning(disable : 4996)//解除编译器strcpy和strcat警告
#include<iostream>
#include<string>
#include<cstring>
using namespace std;
int main()
{char firstName[40];//英文习惯,名前姓后char lastName[40];//lastname为姓,firstname为名char total[84];cout << "请输入你的名:\n";cin >> firstName;cout << "请输入你的姓:\n";cin >> lastName;strcpy(total, lastName);strcat(total, ", ");strcat(total, firstName);cout << "姓名:" <<total << endl;return 0;
}

1.Visual Stdio2022 编译器解除警报错误

#pragma warning(disable : 4996) 

解除编译器警告。在出现一些对于编译器给出的完全不会出问题的错误警告时,可以使用上述代码,可以将上面的 4996 用实际警告标号来代替

2.strcpy 复制字符串的函数

strcpy可以将char数组(或普通字符串)从参数二复制到参数一
示例:

strcpy(total, lastName); 

本例中将存储在 char数组 lastName 中的内容复制到 char 数组 total 中。
若编译器提示可能出现未知错误(参数一字符串的长度太小时可能“装不下”参数二字符串里的信息),可以用strcpy_s代替或者使用strncpy的第三个参数指出要复制的字符串长度

3.strcat 附加字符串的函数

strcat可以将char数组(或普通字符串)从参数二附加(再次将内容复制添加到已经有内容的char数组中)到参数一
示例:

strcat(total, ", ");
strcat(total, firstName);

在本例中①将普通字符串", "(注:半角双引号中包括半角逗号与空格)附加到 char 数组 total 中。

              ②将存储在 char数组 firstName 中的内容附加到 char 数组 total 中。
若编译器提示可能出现未知错误(参数一字符串的长度太小时可能“附加不完”参数二字符串里的信息,出现字符覆盖),可以用strcat_s代替或者使用strncat的第三个参数指出要附加的字符串长度

注:strcpy函数和strcat函数都在头文件 csrting 中。
       string类变量执行复制附加时可以直接像普通变量一样。

举例:
#include<string>//包含string类变量声明//#include<cstring>//包含strcpy、strcat等操作函数,此程序中可以不用string str1,str2.str3,str4;
str1="abcd";
str2="efg";
str3=str1;//将str1直接赋(复制)给str3
str4=str1+str2;//将str1和str2拼在一起,再赋给str4
str3+=str2;//将str2附加给str3(注意:此时str3中已有信息)
//上行较为复杂的代码,等同于 str3=str3+str2;  

源代码运行示例:

四.使用string对象和string类的粘贴与拼接

如编程练习三,使用string对象和头文件string中的函数改写编程练习三中的程序。

//4.13_4.cpp
//使用string对象和string类的粘贴与拼接
#include<iostream>
#include<string>
using namespace std;
int main()
{string firstName, lastName, total;//lastname为姓,firstname为名cout << "请输入你的名:\n";getline(cin,firstName);cout << "请输入你的姓:\n";getline(cin, lastName);total = firstName + ", " + lastName;cout << "姓名:" << total << endl;return 0;
}

1.string类的粘贴方法

如同普通int类型的常数,string类是字面值的操作,可以使用如下操作:

#include<string>
#include<iostream>
int main()
{int a,b,c;a=1;b=2;c=a;//把a的值粘贴给cstring str1,str2,str3;//声明string类对象str1="hello";str2="world";str3=str1;//把str1的字面值粘贴给str3return 0;
}

直接使用
string类对象1=string类对象2;
来把 string类对象2的字面值粘贴给 string类对象1 。

2.string类的输入(见前文)

常用格式:
getline(cin,string类变量名)

这里的getline函数不是cin的类成员函数。因为最初设计getline时没有string类,所以在cin中也没有直接的对于string类的输入操作。后加入了上述格式的整行输入操作,然而这里的getline()函数不附属于cin类之下,存在于头文件中。
上面的getline函数 getline(cin,string类变量名)  中,cin为getline函数指明获取输入的位置,而长度是由string类的变量自己调整的,所以省去具体长度数值。
输出时string类变量按照欧通变量处理。

3.string类的拼接方法

如同普通int类型的常数,string类是字面值的操作,可以使用如下操作:

#include<string>
#include<iostream>
int main()
{int a,b,c;a=1;b=2;c=a;//把a的值粘贴给cstring str1,str2,str3;//声明string类对象str1="hello";str2="world";str3=str1;//把str1的字面值粘贴给str3return 0;
}

直接使用(两string类对象拼接后赋给空的string类对象)
string类对象1=string类对象2+string类对象3;

或者(一个string类对象和原有字面值的string类对象拼接并覆盖重新赋给这个原有字面值的string类对象)
string类对象1=string类对象2+string类对象1;
(前后顺序对 string类对象1 的字面值有影响)

源代码运行示例:

五.C++结构(OOP的基石)

结构CandyBar包含3个成员。第一个成员存储了糖块的品牌,第二个成员存储糖块的质量(可以有小数),第三个成员存储了糖块的卡路里含量(整数)。请编写一个程序,声明这个结构,创建1个名为snack的 CandyBar 变量,并将其成员分别初始化为“Mocha Munch”、2.3和350。初始化应在声明snack时进行。最后,程序显示snack 变量的内容。

//4.13_5.cpp
//C++结构
#include<iostream>
using namespace std;
struct CandyBar//结构类型的变量CandyBar,描述包含的数据类型
{char name[20];//char数组(字符串),品牌double weight;//double数,重量int calorie;//int整型,卡路里
};
int main()
{//设置结构类型CandyBar名下的变量,给结构类型CandyBar名下的变量赋值,这时可以省略structCandyBar snack ={"Mocha Munch",//结构中描述的name类char数组2.3,          //结构中描述的weight类double浮点数350           //结构中描述的calorie类int整数};//snack是一个CandyBar类的struct结构CandyBar snack2 = { "Baby Bear", 1.2, 280};//此处仅作展示,实际程序中不需要//snack2是一个CandyBar类的struct结构cout << "糖果品牌:" << snack.name<<endl;//访问结构类型CandyBar名下,变量snack中的name类的值。未使用指针转型。cout << "糖果重量(kg):" << snack.weight << endl;cout << "糖果卡路里含量:" << snack.calorie << endl;return 0;
}

在此连接文章:C++结构(OOP的基石)

源代码运行示例:

 六.C++结构数组

结构CandyBar包含3个成员。第一个成员存储了糖块的品牌,第二个成员存储糖块的质量(可以有小数),第三个成员存储了糖块的卡路里含量(整数)。请编写一个程序,声明这个结构,创建1个名为snack的 CandyBar 变量,并将其成员分别初始化为“Mocha Munch”、2.3和350。初始化应在声明snack时进行。最后,程序显示snack 变量的内容。 

//4.13_6.cpp
//使用C++结构数组
#include<iostream>
using namespace std;
struct CandyBar//结构类型的变量CandyBar,描述包含的数据类型
{char name[20];//char数组(字符串),品牌double weight;//double数,重量int calorie;//int整型,卡路里
};
int main()
{//设置结构类型CandyBar名下的变量,给结构类型CandyBar名下的变量赋值,这时可以省略structCandyBar snack[3];//CandyBar类型数组snack,包含3个元素。snack[0]={"Mocha Munch",//结构中描述的name类char数组2.3,          //结构中描述的weight类double浮点数350           //结构中描述的calorie类int整数};//snack是一个CandyBar类的struct结构数组,snack[0]是该数组的第一个元素snack[1] = { "Alps        " ,4.5,450};snack[2] = {"Little Bear",2.1,210};cout << "糖果品牌:" << snack[0].name;//访问结构类型CandyBar名下数组snack第一个元素中的name类的值。未使用指针转型。cout << "\t糖果重量(kg):" << snack[0].weight;cout << "\t糖果卡路里含量:" << snack[0].calorie<<endl;cout << "糖果品牌:" << snack[1].name;cout << "\t糖果重量(kg):" << snack[1].weight;cout << "\t糖果卡路里含量:" << snack[1].calorie << endl;cout << "糖果品牌:" << snack[2].name;cout << "\t糖果重量(kg):" << snack[2].weight;cout << "\t糖果卡路里含量:" << snack[2].calorie << endl;return 0;
}


结语

今天我们共同学习了 C++  等重要知识。
学习编程是一条漫长的路,贵在坚持。每天学习来提升自己的的编程能力,成为耀眼的IT之星。
各位读者跟随我的脚步,我们共同努力,共同进步吧!

返回作者主页

专栏文档:C++学习/温习:新型源码学编程(一)(优质好文)

                  C++学习/温习笔记:源码学编程(二)

专栏下一篇文档:【待更新】

其它文章:

                  C语言求幂运算(尽大支持)——中文式奇特命名

                  简洁易懂地介绍C++参数

                  学习C++基本数值类型 

                  C/C++基础运算符


 如有探讨问题联系邮箱:yhlz0613@163.com

对于文章中的错误请各位批评指正,我一定及时更正

请在投票后评论回复意见,如有关于写博文的指导也请您回复提出

 <!--感谢浏览                    诸君慢行且留言          过客匆匆常回访-->

相关文章:

C++学习/温习:新型源码学编程(三)

写在前面(祝各位新春大吉&#xff01;兔年如意&#xff01;) 【本文持续更新中】面向初学者撰写专栏&#xff0c;个人原创的学习C/C笔记&#xff08;干货&#xff09;所作源代码输出内容为中文&#xff0c;便于理解如有错误之处请各位读者指正请读者评论回复、参与投票&#xf…...

阿里云ecs服务器搭建CTFd(ubuntu20)

1.更新apt包索引 sudo apt-get update更新源 1、使用快捷键【ctrlaltt】打开终端。 2、输入以下命令备份原有软件源文件。 cp /etc/apt/sources.list /etc/apt/sources.list.bak_yyyymmdd 3、再输入以下命令打开sources.list文件并添加新的软件源地址。 vim /etc/apt/sources.…...

视频号小店新订单如何实时同步企业微信

随着直播带货的火热&#xff0c;视频号小店也为商家提供商品信息服务、商品交易&#xff0c;支持商家在视频号运营电商&#xff0c;许多企业也将产品的零售路径渗透至视频号小店中了。如果我们希望在视频号小店接收到订单后&#xff0c;能尽快及时发货&#xff0c;给用户较好的…...

ag-Grid Enterprise

ag-Grid Enterprise Ag-Grid被描述为一种商业产品&#xff0c;已在EULA下分发&#xff0c;它非常先进&#xff0c;性能就像Row分组一样&#xff0c;还有范围选择、master和case、行的服务器端模型等等。 ag Grid Enterprise的巨大特点&#xff1a; 它具有以下功能和属性&#x…...

扫雷——C语言【详解+全部码源】

前言&#xff1a;今天我们学习的是C语言中另一个比较熟知的小游戏——扫雷 下面开始我们的学习吧&#xff01; 文章目录游戏整体思路游戏流程游戏菜单的打印创建数组并初始化布置雷排查雷完整代码game.hgame.ctest.c游戏整体思路 我们先来看一下网上的扫雷游戏怎么玩 需要打印…...

【C++】类和对象(下)

文章目录1. 再谈构造函数1.1 初始化列表1.2 explicit关键字2. static成员2.1 概念2.2 特性3. 友元3.1 友元函数3.1 友元类4. 内部类5. 匿名对象6. 拷贝对象时的一些编译器优化7. 再次理解类和对象1. 再谈构造函数 1.1 初始化列表 在创建对象时&#xff0c;编译器通过调用构造…...

计算机网络

TCP和UDP TCP如何保证传输的可靠性 基于数据块传输&#xff1a;应用数据被分割成TCP认为最适合的数据块&#xff0c;传输给网络层&#xff0c;称为报文段连接管理&#xff1a;三次握手和四次挥手对失序数据包重新排序以及去重&#xff1a;每个数据包有一个序列号&#xff0c;…...

【Unity VR开发】结合VRTK4.0:将浮点操作转换为布尔操作

语录&#xff1a; 奈何桥上奈何愁&#xff0c;奈何桥下浣溪流&#xff0c;奈何人人奈何泪&#xff0c;奈何奈何洗春秋。 前言&#xff1a; 有时&#xff0c;您可能希望使用 一个值来激活或停用操作类型。例如&#xff0c;按下控制器上的扳机轴会导致在完全按下扳机时发生操作。…...

error when starting dev server:Error: Failed to resolve vue/compiler-sfc.

对于node 的包管理工具&#xff0c;我一般习惯用 yarn&#xff0c;但是最近使用 yarn 创建前端项目的时候出了一些问题。yarn create vite vite-project报错如下&#xff1a;error when starting dev server:Error: Failed to resolve vue/compiler-sfc.vitejs/plugin-vue requ…...

Vue2之完整基础介绍和指令与过滤器

Vue2之基础介绍和指令与过滤器一、简介1、概念2、vue的两个特性2.1 数据驱动视图2.2 双向数据绑定3、MVVM二、vue基础用法1、导入vue.js的script脚本文件2、在页面中声明一个将要被vue所控制的DOM区域3、创建vm实例对象&#xff08;vue实例对象&#xff09;4、样例完整代码三、…...

JY-7A/3DK/220 19-130V静态【电压继电器】

系列型号 JY-7A/1DK不带辅助电源电压继电器&#xff1b;JY-7B/1DK不带辅助电源电压继电器&#xff1b; JY-7/1DK/120不带辅助电源电压继电器&#xff1b;JY-7/1DK/120不带辅助电源电压继电器&#xff1b; JY-7A/1DKQ不带辅助电源电压继电器&#xff1b;JY-7B/1DKQ不带辅助电源…...

[ECCV 2018] Learning to Navigate for Fine-grained Classification

Contents MethodNavigator-Teacher-Scrutinizer Network (NTS-Net)Navigator and TeacherScrutinizerNetwork architectureJoint training algorithmExperimentReferencesMethod Navigator-Teacher-Scrutinizer Network (NTS-Net) Approach Overview:NTS-Net 在不使用额外的 …...

关于apifox和postman接口工具我有话要说~~

Apifox 和 Postman 都是流行的接口测试工具&#xff0c;各自有其优势和缺点。Apifox 的优势在于它提供了强大的可视化界面&#xff0c;可以方便地测试和监控 API。它还支持多种请求方式&#xff0c;并且支持对请求和响应进行代码生成。但是&#xff0c;Apifox 的缺点在于它不太…...

Vue3通透教程【二】更高效的构建工具—Vite

文章目录&#x1f31f; 写在前面&#x1f31f; webpack&#x1f31f; Vite是什么&#xff1f;&#x1f31f; 使用Vite创建项目&#x1f31f; 写在最后&#x1f31f; 写在前面 专栏介绍&#xff1a; 凉哥作为 Vue 的忠实 粉丝输出过大量的 Vue 文章&#xff0c;应粉丝要求开始更…...

前端中如何判断在线状态?

判断在线状态为了判断浏览器的在线状态&#xff0c;HTML5提供了两种方法来检测是否在线。&#xff08;1&#xff09;onLine属性&#xff1a;通过navigator对象的onLine属性可返回当前是否在线。如果返回true&#xff0c;则表示在线&#xff1b;如果返回false&#xff0c;则表示…...

[MySQL教程①] - MySQL的安装

目录 ❤ Windows下安装MySQL ❤ 下载mysql installer安装 ❤ 下载zip安装包安装 现在作为服务器操作系统的一般有三种&#xff0c;Windows Server&#xff0c;Linux&#xff0c;Unix&#xff0c;在这里我们只介绍在windows下和linux下安装mysql&#xff0c;Unix下安装应该…...

第八节 Linux 设备树

Linux3.x 以后的版本才引入了设备树&#xff0c;设备树用于描述一个硬件平台的板级细节。在早些的linux内核&#xff0c;这些“硬件平台的板级细节”保存在linux 内核目录“/arch”&#xff0c;以ARM 平台为例“硬件平台的板级细节”保存在“/arch/arm/plat-xxx”和“/arch/arm…...

一文了解kafka消息队列,实现kafka的生产者(Producer)和消费者(Consumer)的代码,消息的持久化和消息的同步发送和异步发送

文章目录1. kafka的介绍1.2 Kafka适合的应用场景1.2 Kafka的四个核心API2. 代码实现kafka的生产者和消费者2.1 引入加入jar包2.2 生产者代码2.3 消费者代码2.4 介绍kafka生产者和消费者模式3. 消息持久化4. 消息的同步和异步发送5. 参考文档1. kafka的介绍 最近在学习kafka相关…...

数学建模学习笔记(20)典型相关分析

典型相关分析概述&#xff1a;研究两组变量&#xff08;每组变量都可能有多个指标&#xff09;之间的相关关系的一种多元统计方法&#xff0c;能够揭示两组变量之间的内在联系。 典型相关分析的思想&#xff1a;把多个变量和多个变量之间的相关化为两个具有代表性的变量之间的…...

EL表达式

EL的概念JSP表达式语言&#xff08;EL&#xff09;使得访问存储在JavaBean中的数据变得非常简单。EL的作用用于替换作用域对象.getAttribute("name");3. EL的应用&#xff08;获取基本类型、字符串&#xff09;既可以用来创建算术表达式也可以用来创建逻辑表达式。在…...

进程地址空间(比特课总结)

一、进程地址空间 1. 环境变量 1 &#xff09;⽤户级环境变量与系统级环境变量 全局属性&#xff1a;环境变量具有全局属性&#xff0c;会被⼦进程继承。例如当bash启动⼦进程时&#xff0c;环 境变量会⾃动传递给⼦进程。 本地变量限制&#xff1a;本地变量只在当前进程(ba…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)

宇树机器人多姿态起立控制强化学习框架论文解析 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架&#xff08;一&#xff09; 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...

UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)

UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中&#xff0c;UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化&#xf…...

[Java恶补day16] 238.除自身以外数组的乘积

给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O(n) 时间复杂度…...

高防服务器能够抵御哪些网络攻击呢?

高防服务器作为一种有着高度防御能力的服务器&#xff0c;可以帮助网站应对分布式拒绝服务攻击&#xff0c;有效识别和清理一些恶意的网络流量&#xff0c;为用户提供安全且稳定的网络环境&#xff0c;那么&#xff0c;高防服务器一般都可以抵御哪些网络攻击呢&#xff1f;下面…...

【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统

目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索&#xff08;基于物理空间 广播范围&#xff09;2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)

本期内容并不是很难&#xff0c;相信大家会学的很愉快&#xff0c;当然对于有后端基础的朋友来说&#xff0c;本期内容更加容易了解&#xff0c;当然没有基础的也别担心&#xff0c;本期内容会详细解释有关内容 本期用到的软件&#xff1a;yakit&#xff08;因为经过之前好多期…...

Python 包管理器 uv 介绍

Python 包管理器 uv 全面介绍 uv 是由 Astral&#xff08;热门工具 Ruff 的开发者&#xff09;推出的下一代高性能 Python 包管理器和构建工具&#xff0c;用 Rust 编写。它旨在解决传统工具&#xff08;如 pip、virtualenv、pip-tools&#xff09;的性能瓶颈&#xff0c;同时…...

【生成模型】视频生成论文调研

工作清单 上游应用方向&#xff1a;控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...

深度学习水论文:mamba+图像增强

&#x1f9c0;当前视觉领域对高效长序列建模需求激增&#xff0c;对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模&#xff0c;以及动态计算优势&#xff0c;在图像质量提升和细节恢复方面有难以替代的作用。 &#x1f9c0;因此短时间内&#xff0c;就有不…...