在UE4中有三种字符类型:FName, FText和FString。 这三种类型可以互相转换。
FName足无法被修改的字符串,大小写不敏感。从语义上讲,名宇也应该是唯一的。不管同样的宇符串出现了多少次,在宇符串表里只被存储一次。是借助这个哈希表实现的,从字符串到FName的转换,以及根据Key查询 FName会变得非常快速。在内容浏览器中为新资源命名时,变更动态材质实例中的参数或访问骨骼网格体中的一块骨架时需要使用FNames。FName通过一个轻型系统使用串联。在此系统中,特定长度FNames不区分大小写。它们为不可变,无法被操作。FNames的存储系统和静态特性决定了通过键进行FNames的查找和访问速度较快。FName同轴的另一个功能是使用散列表为FName转换提供快速字符串。
FText表示一个“被显示的字符串”。所有你希望“显示"的字符串都应该 是 FText因 为 FText提 供了内置 的 本 地 化 支 持 . 也 通 过 一 张 查 找 表 来 支 持 运 行时本地化。FText不提供任何的更改操作,对于被显示的字符串来说,“修改”是一个非常不安全的垛作。
FString是唯一提供修改操作的字符串类,同时也意味菪FString的消耗要 高于 FName 和 FText。
事实上.一般我们都使用FString来传递。尽管如此,Slate控件的文字参数往往呈FText这呈为了强制要求本地化。
标签:FText,FNames,c++,面试,字符串,FName,ue,FString From: https://www.cnblogs.com/qiujunxian/p/16801518.html