首页 > 编程语言 >关于UEC++中FText、FString与FName

关于UEC++中FText、FString与FName

时间:2024-06-17 15:35:08浏览次数:21  
标签:FText C# C++ UE 内存 FName 字符串 FString

FText
用于本地化和用户界面显示文本。可以方便地将游戏文本翻译成不同的语言。

FName
FName在UE中的功能与C#中的字符串池有相似之处,但它们的内部实现和用途有些不同。
FName是一种轻量级的、不变的标识符类型,主要用于高效地处理字符串的比较和存储。
特点:
不可变: 一旦创建,FName的值不能改变。
高效比较: 两个FName对象之间的比较非常高效,因为它们内部使用索引进行比较,而不是逐字符比较。
内存优化: FName通过内部字符串表(类似于字符串池)存储唯一的字符串副本,从而减少内存开销。
哈希表支持: 适合用作键值对中的键或其他需要快速查找的场景。

在C#中,字符串池(string intern pool)是一个全局表,用于存储所有唯一的不可变字符串字面量。当创建新的字符串时,如果字符串内容相同,则引用池中的现有字符串。
特点:
不可变: C#中的字符串也是不可变的,一旦创建了就不能改变其内容。
自动驻留: 编译时,所有字符串字面量会自动添加到字符串池中。
手动驻留: 可以使用String.Intern方法将运行时创建的字符串添加到池中。
内存优化: 通过共享相同内容的字符串实例来节省内存。

FString:
用于非本地化的常规字符串操作,例如文件路径、日志输出、内部数据处理。
特点:
提供字符串操作功能(如拼接、查找、替换等)。
开销相对较低,适合频繁的字符串操作。
文件路径、配置参数等不需要本地化的文本。

标签:FText,C#,C++,UE,内存,FName,字符串,FString
From: https://www.cnblogs.com/SecretPeach/p/18252485

相关文章

  • C++ Redis 客户端简单使用
    一、准备工作1、Redis语法命令手册:https://c.biancheng.net/redis2/lpush.html2、下载我的RedisDemo示例(包含了redis源码):https://download.csdn.net/download/weixin_45075013/89446384?spm=1001.2014.3001.5503二、Redis客户端连接与使用......
  • 【C++】模板进阶(特化)
      ......
  • 从零开始学算法/C++/第四天
    昨天参加了百度之星,完全不会写,就写了道差分第一题根据汉诺塔层数和转移次数输出每个圆盘的位置很熟悉,刚学C语言那会儿就学了这个东西,已经忘光光了;大约第三题是求区间中位数,因为只查询一次,差分是比较合适的;大约第四题是括号匹配,WA了四个点,这玩意没写过类似的,还是知识面太窄了,刚......
  • 如何解决c++使用mysql数据库读取中文输出时乱码问题
    使用vs写c++输出数据库中文时出现乱码设置utf-8还是不行这是数据库的内容这是输出:在网上找有说改成utf-8的格式,加入这样一句:mysql_query(conn,"setnamesutf8");效果就是这样:发现错误依旧,询问群友后修改,需要在连接数据库的函数中加入如下一句:mysql_query(conn,"set......
  • C++ -- 红黑树的基本操作
    目录摘要基本规则基本操作利用Graphviz库总结摘要红黑树是一种自平衡的二叉搜索树,它在插入和删除节点时,通过颜色和旋转操作保持树的平衡,确保插入、删除和查找的时间复杂度都是(O(logn))。红黑树的每个节点都有一个颜色属性,红色或黑色。通过一些规则,红黑树保持了相对......
  • c++好学吗
    C++是一种面向对象的编程语言,它扩展了C语言并添加了许多新的特性和功能。C++可以用于开发各种类型的应用程序,包括桌面应用程序、移动应用程序、嵌入式系统以及大型服务器端应用程序。C++具有高性能、可移植性和灵活性的特点,被广泛应用于软件开发领域。他是谁,不用我多说了吧本......
  • [转]32th@C++ 20新特性之线程与jthread@20240617
    C++20新特性之线程与jthread为什么要引入jthread在C++11中,已经引入了std::thread。std::thread为C++标准库带来了一流的线程支持,极大地促进了多线程开发的便利性。但std::thread也存在一些明显的不足和短板,主要有以下几点。1、生命周期管理的复杂性。std::thread对象必须在它......
  • 【PL理论】(29) OOP:面向对象编程 | 案例研究:C++ 中的类 | 继承 | 继承和指针 | Object
    ......
  • VScode 运行C++
    第一部分下载Vscode请自行百度。第二部分下载Dev-C++请自行百度。第三部分找到编译器路径打开以下路径就行:...\Dev-Cpp\MinGW64\bin,并复制。第四部分配置按下Win+R,再输入sysdm.cpl。弹出这个页面。然后按照下面的步骤。接着,双击最下面的空白,把刚刚的路径复制......
  • 掌握现代C++的模板元编程类型检测技术
    最近写代码恰好用到了C++模板元编程的类型检测能力,以前对其原理有个大概的印象,但随着C++11/C++17等新特性的加入,很多做法和以前不同了,借此机会重新梳理一下这方面的知识点。void_t的引入在C++17之前,模板编程中通常需要编写复杂的部分特化和重载来检测类型特征。C++17......