虚幻c++ Split的用法
时间: 2024-02-04 09:09:07 浏览: 183
虚幻引擎中的C++ Split函数用于将字符串分割成子字符串,并将结果存储在一个数组中。下面是一个示例代码演示如何使用虚幻引擎中的C++ Split函数:
```cpp
FString MyString = "Hello,World,How,Are,You";
TArray<FString> MyArray;
MyString.ParseIntoArray(MyArray, TEXT(","), true);
for (const FString& Substring : MyArray)
{
UE_LOG(LogTemp, Warning, TEXT("Substring: %s"), *Substring);
}
```
上述代码将字符串"Hello,World,How,Are,You"按照逗号进行分割,并将分割后的子字符串存储在名为MyArray的数组中。然后,我们可以使用循环遍历数组并打印每个子字符串。
相关问题
虚幻c++引用的使用和概念
虚幻引擎(C++)中的引用是一种特殊的指针,它提供了一种更为安全和直接的方式来处理内存。引用有几个重要的概念:
1. **声明和初始化**:
引用必须在声明时立即初始化,并且一旦初始化就不能改变所引用的对象。例如:
```cpp
A* ptr; // 普通指针
A& ref = *ptr; // 引用,必须先有指针指向A对象
```
2. **无空引用**:
引用总是关联到某个对象,如果尝试创建未初始化的引用,会引发错误。这避免了悬空指针的问题。
3. **传递效率**:
因为引用本质上是一个别名,所以在函数参数传递时,引用比指针更高效,不需要额外的内存开销。
4. **不可更改**:
引用一旦绑定到对象上,就不能再改变引用的目标。这意味着不能像指针那样重新赋值或改变引用的指向。
5. **const引用**:
`const`前缀可以用于表示引用不会修改对象的值,这对于常量对象尤其有用,如`const T&`。
6. **动态绑定和虚函数**:
在虚函数场景下,通过基类引用调用派生类的方法也是虚函数的应用,这是多态的一种体现。
虚幻c++ 虚幻TMap
虚幻引擎中的TMap是一种映射容器,用于存储键值对。TMap有两种类型:TMap和TMultiMap。TMap中的键是唯一的,而TMultiMap可以存储多个相同的键。
以下是虚幻引擎中使用TMap的示例代码:
```cpp
#include <iostream>
#include <unordered_map>
int main() {
// 创建一个TMap对象
TMap<int, FString> MyMap;
// 向TMap中添加键值对
MyMap.Add(1, "Apple");
MyMap.Add(2, "Banana");
MyMap.Add(3, "Orange");
// 通过键获取值
FString Value = MyMap[2];
std::cout << "Value for key 2: " << TCHAR_TO_UTF8(*Value) << std::endl;
// 遍历TMap中的所有键值对
for (auto& Pair : MyMap) {
int Key = Pair.Key;
FString Value = Pair.Value;
std::cout << "Key: " << Key << ", Value: " << TCHAR_TO_UTF8(*Value) << std::endl;
}
// 检查TMap中是否存在某个键
bool bHasKey = MyMap.Contains(3);
std::cout << "Does TMap contain key 3? " << (bHasKey ? "Yes" : "No") << std::endl;
// 删除TMap中的键值对
MyMap.Remove(2);
// 清空TMap
MyMap.Empty();
return 0;
}
```
这段代码演示了如何创建TMap对象、添加键值对、通过键获取值、遍历TMap中的所有键值对、检查TMap中是否存在某个键以及删除键值对和清空TMap。
阅读全文