美文网首页
关于c++参数返回返回临时变量返回局部变量地址错误的解决

关于c++参数返回返回临时变量返回局部变量地址错误的解决

作者: 吉凶以情迁 | 来源:发表于2023-07-09 15:58 被阅读0次

错误代码

FBox* UIActorExtensionMethods::GetComponentsBoundingBoxX(AActor* This)
{
    FBox box1 = This->GetComponentsBoundingBox();
    return &box1;//则提示返回临时变量返回局部变量地址错误
}
MDYO%J~RT3CM4H2{[T]PZ}W.png

推荐使用传递引用的办法。


FBox* UIActorExtensionMethods::GetComponentsBoundingBoxX(AActor* This)
{
    FBox* box1 = new FBox(This->GetComponentsBoundingBox());
    return box1;//如果直接 FBox =This->GetComponentsBoundingBox()然后&FBox 则提示返回临时变量返回局部变量地址错误
}


FBox UIActorExtensionMethods::GetComponentsBoundingBoxX1(AActor* This)
{
    static FBox box1 = This->GetComponentsBoundingBox();
    return box1;
}

void UIActorExtensionMethods::GetComponentsBoundingBoxX2(AActor* This, FBox& OutBox)
{
    OutBox = This->GetComponentsBoundingBox();
    
}

相关文章

  • 内存四区

    stack(栈区):存放局部变量、函数参数、返回数据和返回地址,系统自动分配释放。栈顶从高地址向低地址的方向生长,...

  • 内存中的存储方式

    1.栈区(stack):由编译器自动分配释放,存放为运行函数而分配的局部变量、函数参数、返回数据、返回地址等。 2...

  • vue工具类之——URL地址栏参数操作

    地址栏参数的获取,返回object地址栏参数的删除,返回string地址栏参数的修改,返回string /** *...

  • 不要返回局部变量的引用或指针

    不要返回局部变量的引用或指针,因为函数返回时,局部变量会被释放,引用或指针指向的内容会失效。 例如以下程序 返回局...

  • 8086汇编(18)栈帧

    栈帧 1、栈帧(Stack Frame Layout) 就是一个函数执行的环境 包括:参数、局部变量、返回地址等1...

  • Python语言基础7

    局部变量、全局变量、参数、返回值、拆包、可变、不可变类型、函数使用注意事项 1.局部变量 局部变量,就是在函数...

  • solidity的变量存储

    状态变量与局部变量 状态变量:保存在区块链(合约)中的变量被称为状态变量 局部变量:函数的参数,返回参数以及在函数...

  • C++函数返回值为引用(&)

    说明:若函数的返回值为引用(&),则编译器就不为返回值创建临时变量了。直接返回那个变量的引用。所以千万不要返回临时...

  • iOS逆向:函数本质(下)

    本文主要是讲解函数的参数、返回值、局部变量在汇编中是如何存储,以及CPSR标志寄存器 函数的参数和返回值 arm6...

  • 深入理解C++中的对象和对象引用

    转载有言在先: 返回局部对象和引用, 就像返回局部变量的地址一样, 非常非常危险, 要避免使用。 下面程序中有的...

网友评论

      本文标题:关于c++参数返回返回临时变量返回局部变量地址错误的解决

      本文链接:https://www.haomeiwen.com/subject/mbesudtx.html