栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++新特性在UE5中的使用

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++新特性在UE5中的使用

  • 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));
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/968367.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号