雪千渔Blog

  • 首页
  • Coding
    • dotNet
    • C++
    • Lua
    • Visual Basic
    • Java
    • Android
    • Web
  • DCC
    • Maya
    • Maya-Plug
    • AfterEffect
    • AfterEffect-Plug
    • PhotoShop-Plug
  • GameDev
    • Unity3D
    • UnrealEngine
    • 经验杂谈
    • 游戏设计
    • 自研引擎
    • 效果实现
  • Graphics
    • OpenGL
    • Vulkan
    • 计算机图形学
  • 其他
    • 乱七八糟
    • 软件工具
    • 留言板
    • 自制素材
    • 关于我
雪千渔blog
唯有热爱,能抵漫长岁月
  1. 首页
  2. GameDev
  3. UnrealEngine
  4. 正文

虚幻蓝图多返回值传递c++参数的形式

2022年6月17日 807点热度 1人点赞 0条评论

对于写惯c++的来说,一个函数返回指针时处理失败可以返回空指针,但如果返回值类型就很难去判断,同时为了避免使用异常,以返回布尔,通过指针来导出返回的参数是很常见的做法。但在虚幻内的结构体USTRUCT类型上标记为指针类型时,将会收到编译错误。对以下的四种传递和返回方式与蓝图中生成的阶段做一个对比:分别为

  1. 普通的值类型传递
  2. 常引用传递
  3. 引用传递
  4. 返回值类型对象
UFUNCTION(BlueprintCallable)
static bool TestValue(FConfig Config)

UFUNCTION(BlueprintCallable)
static bool TestConstRef(const FConfig& Config)

UFUNCTION(BlueprintCallable)
static bool TestRef(FConfig& Config)

UFUNCTION(BlueprintCallable)
static FConfig TestRetValue()

蓝图预览:

其中值拷贝传递方式与常引用在蓝图使用上一致。而使用引用传递时,该ustruct无法在蓝图中传入,仅可以传出。可以看出引用代替的传出指针的功能,只不过指针可以为空,而引用是不可以为空的,所以无论如何都会构造个ustruct对象,蓝图在这里帮助开发者自动构造,而不可以像c++中正常的引用,在ue的概念中,ustruct就应该像纯值类型一样对待。

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: unreal 蓝图
最后更新:2022年6月17日

JomiXedYu

独游开发者 & 技术美术

点赞
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

JomiXedYu

独游开发者 & 技术美术

最新 热点 随机
最新 热点 随机
HLSL对Vulkan的适应性以及伪语义绑定 GPU呈现模式与垂直空白 自研引擎PulsarEngine的Shader编译流程 UE材质Custom节点与HLSL的HACK操作 UE5出现D3D12崩溃报错解决方案 游戏引擎脚本绑定的三种写法与利弊
HLSL对Vulkan的适应性以及伪语义绑定
脚本解释器与galgame系统迭代经历 Rewrite齿轮模型 Adobe Prelude,Pr,AE影视合成/剪辑更有效率的制作 一种解决不支持中文与空格文件名的编码 Visual Basic6 网游登录器样式窗体 xLua无法判断Unity对象为nil的问题
友情链接
  • DorinXL
  • 小博博客
  • 秋橘斋

COPYRIGHT © 2014-2023 雪千渔Blog. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

辽ICP备20006894号-1