FName
FName 的字符串一般用在为资源命名或者访问资源时(比如命名的骨骼)需要使用。
它使用一个轻型系统使用字符串,特定字符串会被重复使用,在数据表中也就只存储一次。
- 只在内存中存储一次
- 不区分大小写
- 不能被修改
- 查找和访问速度比较快
- 内部有一个 HASH 值
FName 在 Edior 中占 12 个字节,打包 8 字节,FName 的XXXX_12
这样的字符串会被分成 string part 和 number part,估计是为了想不为每个拼接的结果都在 NamePool 中创建一份吧。
FString
FSting 比较类似于标准库的std::string
,区分大小写,可修改,每份实例都是单独的内存。
FText
FText 是用于本地化的类,所有需要展示的文本都需要使用 FText,它提供了以下功能:
- 创建本地化文本
- 格式化文本
- 从数字生成文本
- 从日期或时间生成文本
- 转换文本(大小写转换等)