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

C++学习day--09 字符串比较、运算符

1、项目练习

1 节 项目需求、项目实现
项目实现:
#include <iostream>
#include <Windows.h>
#include <string>
using namespace std;
int main( void ) {
string name;
string pwd;
std::cout << " 请输入账号: " ;
std::cin >> name;
std::cout << " 请输入密码: " ;
std::cin >> pwd;
if (name == "54hk" && pwd == "123456" ) {
std::cout << "1. 网站 404 攻击 " << std::endl;
std::cout << "2. 网站篡改攻击 " << std::endl;
std::cout << "3. 网站攻击记录 " << std::endl;
std::cout << "4.DNS 攻击 " << std::endl;
std::cout << "5. 服务器重启攻击 " << std::endl;
} else {
cout << " 用户名或密码错误 !" << endl;
}
system( "pause" );
return 0;
}

2、  项目精讲-string 字符串的比

复习字符串的比较规则:
按顺先从前往后比较
同序号的字符按“ ASCII ”码值比较
直到遇到对应字符不等或者字符串结束
字符串比较的“运算符”
==
>
<
>= ( 大于或者等于 )
<= ( 小于或者等于 )
!=
c++中,字符串的比较, 可以直接使用以上的”比较运算符”,这里仅只对string类型的字符串,对char数组是不能这样比较的。 C++ 语言里是可以用运算符进行比较的,但是 C 语言只能用库函数进行比较,同时 java 语言里 也只能用库函数比较。 java 语言用运算符比较 字符串是比较字符串的首地址。
比如 :
str1 == str2
字符串比较的“结果”: bool 类型
逻辑真 true
逻辑假 false
表示真假的布尔类型
C++ 语言中,有两种 bool( 布尔 ) 类型的表示方式:
1 )直接使用 bool 类型
bool x = true;
bool 类型 , 只有两个值 :
true
false
2 )使用 0 和非 0 的任何值( C 语言风格)
0: 表示假
非 0: 表示真

 

特别注意:
1>3 是假
1>3 == false 是真
3>1 是真
3>1 == false 是假
bool x;
x = 1 < 3;
类似:
对你的女神 / 男神说:
我爱你
=> 是真
我爱你 == true
=> 是真
我爱你 == false
=> 是假
对你的备胎说:我爱你
=> 是假
我爱你 == true
=> 是假
我爱你 == false
=> 是真
常见错误:
3>2>1 是假
3>2>1 =>
true>1 => 1>1
=> false
3>2 && 2>1
使用“逻辑与”运算。
bool 类型使用场合:
if 语句
for 语句
while 语句
项目精讲 -C 语言字符串的比较
#include <string.h>
int strcmp( const char *str1, const char *str2 );
例如 :
int ret;
ret = strcmp(str1, str2);
返回值:
str1 < str2 时, 返回值< 0(有些编译器返回 -1)
str1 > str2 时, 返回值> 0(有些编译器返回 1)
str1 等于 str2 时, 返回值为 0

 demo:

#include <stdio.h>
#include <string.h>

#include <Windows.h>
int main( void ) {
char addr[32];
int ret;
printf( " 美女,你是哪里人? " );
scanf( "%s" , addr);
if (strcmp(addr, " 湖南 " ) == 0) {
printf( " 美女,我们是老乡啊! \n" );
} else {
printf( " 美女,你和我的同学是老乡啊! \n" );
}
system( "pause" );
return 0;
}

其它数据类型的比较运算

char, int, short, float, double 等数据类型,都可以使用比较运算:
大于:             >
大于或等于 :    >=
小于:            <
小于或等于: <=
不等于:        !=
等于:            ==
(注意:不是 =
比较运算的结果:( 逻辑值
结果为“真”: true
结果为“假”: false
#include <iostream>
#include <Windows.h>
using namespace std;
int main( void ) {
int weight;
printf( " 美女 , 你多重啊 ?\n" );
cin >> weight;

if (weight >= 120) {
cout << " 美女 , 如此丰满 , 真有福气 !" << endl;
} else {
cout << " 美女 , 这么瘦 , 身材不错啊 !" << endl;
}
system( "pause" );
return 0;
}
注意:浮点数的相等比较不能直接用 ==来比较,二是让他们作差,若这个差在某个范围内,则认为这两个数相等。

 

3、逻辑运算符

C 语言完全相同。
现实生活中,任何决策,都是根据多个因素,综合决策的!
有没有钱 , 有没有时间 , 实力允不允许 ?
逻辑与 &&

都为真,逻辑与才是真 只要有一个是假, 逻辑与就是假相当于“而且”
应用场景:
当需要两个条件都满足时,就使用逻辑与
java 语言的 && & 都是与运算,但是 &&有短路功能,而 & 没有短路功能。同理|| | 也是如此。
特别注意:
条件 1 && 条件 2
当条件 1 为真时,才去判断条件 2
当条件 1 为假时,就不再判断条件 2
多个条件 :
条件 1 && 条件 2 && 条件 3
#include <iostream>
#include <Windows.h>
using namespace std;

int main( void ) {
int money;
int days;
cout << " 你有多少钱 ?" ;
cin >> money;
cout << " 你看多少天的假期 ?" ;
cin >> days;
// 如果存款大于 10 , 而且假期大于 10 , 就去旅游
if (money > 100000 && days > 10) {
cout << " 我要去旅游 !" << endl;
} else {
cout << " 还是在家里呆着 " << endl;
}
system( "pause" );
return 0;
}

逻辑或 || 

只要有一个是真, 结果就是真,都为假时,结果才是假,相当于“或者”
多个条件 :
条件 1 ||
条件 2 || 条件 3
应用场景:
只需要满足任意一个条件时,就使用逻辑或
特别注意:
条件 1 || 条件 2
当条件 1 为真时,就不再判断条件 2
当条件 1 为假时,才判断条件 2
和上面一样, || 也有短路功能
#include <iostream>
#include <string>
#include <Windows.h>
using namespace std;
int main( void ) {
int money;
string love;
cout << " 你有多少钱 ?" << endl;
cin >> money;
cout << " 你爱我吗 ?" << endl;
cin >> love; // 回答 : 爱 或者 不爱
if (money > 1000000 ||
love == " " ) {
cout << " 我们结婚吧 !" << endl;
} else {
cout << " 你是一个好人 !" << endl;
}
system( "pause" );
return 0;
}

逻辑非 ! 

单目运算符 ”, : 只有一个操作数 ,!条件
相当于“不”
应用场景:
当需要不满足某条件时,就使用逻辑非
特别注意:
逻辑非,只对一个条件进行运算!
是一种“单目运算符”
需求 : 如果月薪不到 3 , 那就努力修炼 . 否则 , 就可以去接外包
#include <iostream>
#include <Windows.h>
using namespace std;
int main( void ) {
int money;
int days;
cout << " 你的月薪多少 ?" ;
cin >> money;
if (!(money >= 30000)) {
cout << " 我是菜鸟 , 薪资不到 3 , 我要努力修炼 !\n" << endl;
} else {
cout << " 我要接外包 \n" << endl;
}
system( "pause" );
return 0;
}

操作硬件的位运算 

问题 :
把地址为 0x80040 的寄存器的最低 4 位设置为 0110
解决方案 :
使用位操作
什么是位 ?
内存的基本单元是字节 , 一个字节有 8 .
位与 &
0 & 0
0
0 & 1
0
1 & 0
0
1 & 1
1
对应位 , 都是 1, 结果才是 1
// 00001000
// 00000011
// 00000000
cout << " 8 & 3 = " << (8 & 3) << endl;
位或 |
0 | 0
0
0 | 1
1
1 | 0
1
1 | 1
1
对应位 , 都是 0, 结果才是 0
只要有一位是 1, 结果就是 1
0 | x x
// 00001000
// 00000011
// 00001011
cout << " 8 | 3 = " << (8 | 3) << endl;
位非 ~
~ 1
0
~ 0
1
取反
// 00001000
// 11110111
unsigned char x = ~8;
cout << ( int )x << endl; //247
异或 ^
0 ^ 0 0
1 ^ 1 0
0 ^ 1 1
1 ^ 0 1
对应位不同 , 结果才是 1
// 00001000
// 00000011
// 00001011
cout << (8^3) << endl; //11
<< 左移
右边的位用 0 来填充 , 移动超出左边边界的位则直接抛弃。
向左移动 n 个位置,就等同于乘以 2 n 次方
只适用于 : int/short/long/char 等定点数类型 (float/double 浮点数类型不能使用)
// 00001000
// 01000000
cout << (8<<3) << endl;
//8*2*2*2 = 64
>> 右移
如果左操作数是无符号类型,则左边多出来的位用 0 来填充。
如果左操作数是有符号类型,则左边多出来的位用 符号位 ( 最高位 ) 来填充。
向左移动 n 个位置,就等同于除以 2 n 次方
只适用于 : int/short/long/char 等定点数类型 (float/double 浮点数类型不能使用 )
// 00001000
// 00000001
cout << (8>>3) << endl;
//1
应用 :
把一个整数的的最低 4 位设置为 0110
cout << " 请输入一个整数 : " << endl;
cin >> x;
// x 的最低 4 位清 0
x = x & (~15);
// x 的最低 4 位设置为 0110
x = x | 6;
cout << "x=" << x << endl;

其它运算 

已经学习了 :
x = 100;
== > >= < <= !=
&& || !
& |
~ ^ >> <<
算术运算

 

 

赋值运算
x = 10; // x 的值 设置为 10, 10 写到变量 x 中。
x = 10 + a;
左边必须是变量
“优先级”很低,只比 "," (逗号元素符)高。
复合赋值运算
x += 10;
// x = x + 10
x -= 10;
// x = x - 10
类的还有: *= , /=, %= 等。
自增自减运算
i++ => i = i+1
++i => i = i+1
i-- => i = i-1
--i => i = i-1
i = 100;
x = i++; // x = 100
i = 100;
x = ++i; // x= 101
1. 只能对变量做 ++ -- 运算,不能对变量和表达式做 ++ 和--运算
5++; //ERROR
(3+x)++; //ERRO
2. 建议尽量使用前缀自增(自减),以避免错误。
逗号运算符
优先级最低
#include <stdio.h>
int main(void) {
int x;
// 先计算 x = 3+5, 再计算 3*5
x = 3+5, 3*5, 10/5;
printf("x=%d\n", x); //x=8
// 取最后一个表达式的值,作为整个“逗号表达式”的值
x = (3+5, 3*5, 10/5);
cout << x << endl; //x=2
return x;
}
因为逗号表达式的优先级最低,比赋值运算符优先级还低,因此x=8,而不是 2

 

三目运算符
条件 ? 表达式 1 :表达式 2
如果条件为真,就取表达式 1 作为整个表达式的值
如果条件为假,就取表达式 2 作为整个表达式的值
#include <iostream>
#include <Windows.h>
using namespace std;
int main( void ) {
int salary;
printf( " 请输入您的月薪 : " );
scanf( "%d" , &salary);

cout << (salary > 30000 ? " 老鸟 " : " 菜鸟 " ) << ", 晚上好 !" << endl;
system( "pause" );
return 0;
}
使用多个运算符时的优先级
一共有 15 个级别!
不需强制记忆,只需要掌握以下常用的优先级:
最高优先级: ( ) [ ]
最低优先级:逗号表达式
倒数第二低优先级:赋值和复合赋值 (= +=, -= ...)
x = a+ b*c;
> 算术运算符 > 关系运算符 > && > || > 赋值运算符
(3 + 4 < 5 && 6 > 7) || ( 8 > 7) ;

4、数据类型之间的转换

类型转换的概念
为什么需要“类型转换”
参与运算的两个操作数的数据类型,必须相同!
类型转换的类别:
1. 隐式类型转换 ( 自动完成转换) 小范围内的数转为大范围 内数
1 )算数转换
2 )赋值转换
3 )输出转换
2. 强制类型转化( 大范围内的数转为小范 围内的数)
隐式类型转换
算数转化
(+,-,*,/,%)
char , int, long, long long, float, double
15 + 3.14 => 15.0 + 3.14
赋值转换
#include <stdio.h>
int main(void) {
int x;
// 计算结果 31.4 转换为 int 类型,因为赋值符号的左边变量的类型是 int 类型
x = 3.14 * 10.0;
cout << x << endl; //31
return 0;
}

输出转换(C 语言) 

#include <stdio.h>
int main(void) {
printf("%c\n", 255+50); //305 -> 49 ('1');
printf("%d\n", 255+50); //305
return 0;
}
int 类型数据, 按照 %f 格式输出时,将得到错误的输出
float (或 double) 类型数据,按照 %d 格式输出时,将得到错误的输出

 

强制类型转化
简单强制类型转换
( 直接使用数据类型 )
int x = 257 + 100;
cout << "x=" << x << endl; //357
x = ( char )257 + 100; //100000001 -> 00000001
cout << "x=" << x << endl; //101
高级强制类型转换
1) static_cast
2) dynamic_cast
3) const_cast
4) reinterpert_cast
[ 将在后续章节中 , 详细精讲] C++ 特有的强制类型转换 ,现在这里打个预防针, 后续讲解。

 

相关文章:

C++学习day--09 字符串比较、运算符

1、项目练习 第 1 节 项目需求、项目实现 项目实现&#xff1a; #include <iostream> #include <Windows.h> #include <string> using namespace std; int main( void ) { string name; string pwd; std::cout << " 请输入账号&am…...

缓存和数据库一致性问题

如何保证缓存和数据库一致性&#xff0c;这是一个老生常谈的话题了。 但很多人对这个问题&#xff0c;依旧有很多疑惑&#xff1a; 到底是更新缓存还是删缓存&#xff1f; 到底选择先更新数据库&#xff0c;再删除缓存&#xff0c;还是先删除缓存&#xff0c;再更新数据库&am…...

4月京东生鲜水果行业数据报告:榴莲销量增长400%,市场格局剧变

众所周知&#xff0c;今年水果领域的一个重磅消息就是&#xff1a;榴莲价格暴跌。目前全国多地线下水果专卖店、农贸市场的榴莲价格都在下滑&#xff0c;有的地区在4月底甚至已经降至最低每斤20元左右。预测在5月的销售旺季&#xff0c;价格还有望一路向下。 •榴莲逆袭苹果&am…...

Windows无法完成格式化怎么办?正确的3个解决方法!

案例&#xff1a;Windows无法完成格式化怎么办 【由于我的U盘使用时间过长&#xff0c;很多文件都是不需要的&#xff0c;我想将其格式化&#xff0c;但插入电脑后&#xff0c;Windows根本无法完成格式化&#xff0c;这是为什么呢&#xff1f;我应该怎么做呢&#xff1f;求答案…...

基于aspnet个人博客网站dzkf6606程序

系统使用Visual studio.net2010作为系统开发环境&#xff0c;并采用ASP.NET技术&#xff0c;使用C#语言&#xff0c;以SQL Server为后台数据库。 1&#xff0e;系统登录&#xff1a;系统登录是用户访问系统的路口&#xff0c;设计了系统登录界面&#xff0c;包括用户名、密码和…...

不黑艺术学社京藏行——参观五台山孙溟㠭为五台山红英师治印

不黑学社社长孙溟㠭先生与五台山菩萨顶主事红英师 不黑学社京藏行&#xff0c;路经五台把佛拜。 巍巍五台清凉境&#xff0c;参访伊始菩萨顶。 感恩“天珠”刘诗语&#xff0c;芬芳佛语满香华。 感恩慈悲红英师&#xff0c;带众参拜大白塔。 菩萨顶上如意宝&#xff0c;莲…...

mysql数据之表管理-mysql高级管理

1. #创建表tt01 #对id字段设置零填充约束、主键约束、自增长约束 #对name字段设置非空约束、默认值约束 #对cardid字段设置非空约束、唯一键约束 插入数据记录&#xff1a; 1&#xff09;因为id字段设置了自增长&#xff0c;如果不指定id字段值&#xff0c;则默认从1开始递…...

公司新来的00后真是卷王,工作没2年,跳槽到我们公司起薪18K都快接近我了

说00后躺平了&#xff0c;但是有一说一&#xff0c;该卷的还是卷。这不&#xff0c;前段时间我们公司来了个00后&#xff0c;工作都没两年&#xff0c;跳槽到我们公司起薪18K&#xff0c;都快接近我了。后来才知道人家是个卷王&#xff0c;从早干到晚就差搬张床到工位睡觉了。 …...

面试题30天打卡-day19

1、TCP 和 UDP 协议有什么区别&#xff0c;分别适用于什么场景&#xff1f; TCP&#xff08;Transmission Control Protocol&#xff09;和UDP&#xff08;User Datagram Protocol&#xff09;是两种常用的传输层协议&#xff0c;两者的区别比较如下&#xff1a; TCPUDP可靠性…...

ASEMI代理ADI亚德诺LTC6992IS6-1#TRMPBF车规级芯片

编辑-Z LTC6992IS6-1#TRMPBF参数描述&#xff1a; 型号&#xff1a;LTC6992IS6-1#TRMPBF 输出频率&#xff1a;3.81Hz 工作电源电压范围&#xff1a;2.25 - 5.5V 通电复位电压&#xff1a;1.95V 电源电流&#xff1a;105-365A SET引脚处的电压&#xff1a;1V 频率设置电…...

Oracle PL/SQL基础语法学习15:静态表达式

系列文章目录 Oracle PL/SQL基础语法学习12&#xff1a;短路求值 Oracle PL/SQL基础语法学习13&#xff1a;比较运算符 Oracle PL/SQL基础语法学习14&#xff1a;BOOLEAN表达式 文章目录 系列文章目录前言Oracle PL/SQL基础语法学习15&#xff1a;静态表达式Static Expression…...

B-Tree (多路查找树)分析-20230503

B-Tree (多路查找树)学习-20230503 前言 B-树是一类多路查询树&#xff0c;它主要用于文件系统和某些数据库的索引&#xff0c;如果采用二叉平衡树访问文件里面的数据&#xff0c;最坏情况下&#xff0c;磁头可能需要进行O(h)次对磁盘的读写&#xff0c;其中h为树的高度&…...

OpenGL光照教程之 透光物

引言 我们目前使用的所有光照都来自于一个单独的光源&#xff0c;这是空间中的一个点。它的效果不错&#xff0c;但是在真实世界&#xff0c;我们有多种类型的光&#xff0c;它们每个表现都不同。一个光源把光投射到物体上&#xff0c;叫做投光。这个教程里我们讨论几种不同的投…...

如何使用hook?

目标&#xff1a;将posix函数hook住 一个简单的例子 &#xff08;连接mysql服务&#xff09;&#xff0c;连接成功则打印success mysql.c #include <mysql/mysql.h> #include <stdio.h> int main(){MYSQL* mysql mysql_init(NULL);if(!mysql){printf("my…...

双指针技巧秒杀七道链表题目

文档阅读 文档阅读 题目 141. 环形链表 https://leetcode.cn/problems/linked-list-cycle/ public class Solution {public boolean hasCycle(ListNode head) {ListNode fast head, slow head;while(fast ! null && fast.next ! null){fast fast.next.next;slo…...

在“裸奔”时代保护我们的隐私:网络攻击、数据泄露与隐私侵犯的应对策略与工具

摘要&#xff1a;随着信息技术的普及和发展&#xff0c;个人隐私和数据安全问题日益受到威胁。本文将讨论如何有效应对网络攻击、数据泄露和隐私侵犯&#xff0c;并提供一系列实用的技巧和工具&#xff0c;以帮助我们在“裸奔”时代更好地保护数据安全和隐私。 当今社会&#…...

如何写出高质量代码

你是否曾经为自己写的代码而感到懊恼&#xff1f;你是否想过如何才能写出高质量代码&#xff1f;那就不要错过这个话题&#xff01;在这里&#xff0c;我们可以讨论什么是高质量代码&#xff0c;如何写出高质量代码等问题。无论你是初学者还是资深开发人员&#xff0c;都可以在…...

[oeasy]python0048_注释_comment_设置默认编码格式

注释Comment 回忆上次内容 使用了版本控制 git 制作备份进行回滚 尝试了 嵌套的控制结构 层层 控制 不过 除非 到不得以尽量不要 太多层次的嵌套 这样 从顶到底含义 明确而且 还扁平 扁平 也能 含义明确 还可以 做点什么&#xff1f; 让程序含义 更加明确呢&#xff1f;&…...

C++中的queue与priority_queue

文章目录 queuequeue的介绍queue的使用 priority_queuepriority_queue介绍priority_queue使用 queue queue的介绍 队列是一种容器适配器&#xff0c;专门用于上下文先进先出的操作中。队列的特性是先进先出&#xff0c;从容器的一端插入&#xff0c;另一端提取元素。   队列…...

电脑发挥极致,畅游永恒之塔sf

随着22寸显示器的普及&#xff0c;玩永恒之塔势必会对显示卡造成了很大负担。不要说效果全开&#xff0c;就连简洁的玩&#xff0c;都成了问题&#xff0c;那是不是就要重金把才买的显示卡又要拿掉呢&#xff1f; 最出众的解决办法&#xff0c;是超频。 主要就具有以下条件最佳…...

零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?

一、核心优势&#xff1a;专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发&#xff0c;是一款收费低廉但功能全面的Windows NAS工具&#xff0c;主打“无学习成本部署” 。与其他NAS软件相比&#xff0c;其优势在于&#xff1a; 无需硬件改造&#xff1a;将任意W…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建

制造业采购供应链管理是企业运营的核心环节&#xff0c;供应链协同管理在供应链上下游企业之间建立紧密的合作关系&#xff0c;通过信息共享、资源整合、业务协同等方式&#xff0c;实现供应链的全面管理和优化&#xff0c;提高供应链的效率和透明度&#xff0c;降低供应链的成…...

视频字幕质量评估的大规模细粒度基准

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用&#xff0c;因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型&#xff08;VLMs&#xff09;在字幕生成方面…...

根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:

根据万维钢精英日课6的内容&#xff0c;使用AI&#xff08;2025&#xff09;可以参考以下方法&#xff1a; 四个洞见 模型已经比人聪明&#xff1a;以ChatGPT o3为代表的AI非常强大&#xff0c;能运用高级理论解释道理、引用最新学术论文&#xff0c;生成对顶尖科学家都有用的…...

九天毕昇深度学习平台 | 如何安装库?

pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子&#xff1a; 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...

代码随想录刷题day30

1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币&#xff0c;另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额&#xff0c;返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...

CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)

漏洞概览 漏洞名称&#xff1a;Apache Flink REST API 任意文件读取漏洞CVE编号&#xff1a;CVE-2020-17519CVSS评分&#xff1a;7.5影响版本&#xff1a;Apache Flink 1.11.0、1.11.1、1.11.2修复版本&#xff1a;≥ 1.11.3 或 ≥ 1.12.0漏洞类型&#xff1a;路径遍历&#x…...

纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join

纯 Java 项目&#xff08;非 SpringBoot&#xff09;集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...

Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)

引言 在人工智能飞速发展的今天&#xff0c;大语言模型&#xff08;Large Language Models, LLMs&#xff09;已成为技术领域的焦点。从智能写作到代码生成&#xff0c;LLM 的应用场景不断扩展&#xff0c;深刻改变了我们的工作和生活方式。然而&#xff0c;理解这些模型的内部…...

Unity中的transform.up

2025年6月8日&#xff0c;周日下午 在Unity中&#xff0c;transform.up是Transform组件的一个属性&#xff0c;表示游戏对象在世界空间中的“上”方向&#xff08;Y轴正方向&#xff09;&#xff0c;且会随对象旋转动态变化。以下是关键点解析&#xff1a; 基本定义 transfor…...