- lambda表达式结合
auto
推导类型的使用UWorld* CurWorld = GetWorld(); auto G_LambdaPrintOnScreen = [CurWorld](auto & FStringMessage) { IsValid(CurWorld)?UKismetSystemLibrary::PrintString(CurWorld,FStringMessage); }
- 结构化初始化器对TMap,TArray的初始化赋值
TArray
PrintArray = {3, 2, 4, 18, 5}; TMap StructBind = {{1, "Hello"}, {2, "World"}};
auto
在函数模板推导中的使用template
auto GetAutoTypeValue(T t) { return t; }
- 别名模板及推导的使用
USTRUCT(BlueprintType) struct FAliasStruct { GENERATED_BODY() UPROPERTY(BlueprintReadWrite) float AliasFloatValue = 0.3f; UPROPERTY(BlueprintReadWrite) FName AliasName = "AliasName"; }; template
struct TestStruct { T t; U u; }; template using AliasTestStruct = TestStruct ;
constexpr
的使用constexpr int32 GetMaxValue(const int32 Left, const int32 Right) { return Left < Right ? Left : Right; }
- 结构化绑定在TTuple中使用
auto LambdaPairFucntion = [](const float Left, const float Right) { return TTuple
(Left, Right); }; const auto[Left, Right] = LambdaPairFucntion(3.5f, 4.5f); UKismetSystemLibrary::PrintString(GetWorld(), UKismetStringLibrary::Conv_FloatToString(Left)); UKismetSystemLibrary::PrintString(GetWorld(), UKismetStringLibrary::Conv_FloatToString(Right));
- 结构化绑定在TMap中的使用
TMap
StructBind = {{1, "Hello"}, {2, "World"}}; for (const auto&[LeftChild, RightChild] : StructBind) { _PrintFunction(LeftChild); UKismetSystemLibrary::PrintString(GetWorld(), RightChild); }
- 多层命名空间的嵌套使用
namespace RootTestNS::SubFirstTestNS::LastNameSpace { [[maybe_unused]] const static float TestNSValue = 0.01; } UKismetSystemLibrary::PrintString(GetWorld(), UKismetStringLibrary::Conv_FloatToString( RootTestNS::SubFirstTestNS::LastNameSpace::TestNSValue));
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)