SV中 ,使用 delete 删除数组元素
时间: 2024-10-08 10:08:51 浏览: 120
在Unreal Engine (UE) 的Scripting Virtual Machine (SV) 中,当你想从数组(Array)中删除元素时,你可以使用`FNameArray`、`TArray<FString>` 或其他自定义数组类型提供的`Remove()`或`RemoveAt()`函数。这两个方法的区别在于:
- `Remove(Element)`:尝试删除指定元素的第一个匹配项。如果没有找到,不会有任何动作。
- `RemoveAt(Index)`:从指定索引开始查找并删除元素,如果索引超出范围则不做操作。
下面是一个基本示例:
```cpp
// 假设我们有一个字符串数组
FStringArray MyStrings;
MyStrings.Add(TEXT("One"));
MyStrings.Add(TEXT("Two"));
// 删除"Two"
if (MyStrings.Remove(TEXT("Two"))) {
UE_LOG(LogTemp, Warning, TEXT("Removed 'Two' from the array."));
}
// 或者删除索引为1的元素(这里假设0-based索引)
if (MyStrings.RemoveAt(1)) {
UE_LOG(LogTemp, Warning, TEXT("Removed element at index 1 from the array."));
}
```
注意,这只会从数组本身移除元素,不会影响原始分配的内存空间。如果需要频繁删除元素,并且关心性能,可能会考虑使用动态数组或其他更合适的数据结构。
阅读全文