实例甜点 Unreal Engine 4迷你教程(5)之函数中的静态变量

本小节的教程无前置教程,可直接学习,篇幅很短。

本教程浓缩起来就是一句话:函数中的静态变量在调试过程中保留值。所以需要谨慎对待。

 

什么意思?请先不要一步一步对着做,而整体地看一遍下面的过程:

 

第一步:创建一个空工程(C++ Basic Code),名为LearnArray

第二步:创建两个Actor类分别称为:MyActorsand

 

 

第三步:在MyActor中有tick函数如下:

 

 

 

▼代码开始

// Called every frame
void AMyActor::Tick(float DeltaTime)
{
    Super::Tick(DeltaTime);
    static int32 Timer = 0;//【请注意这里声明了函数级别的静态变量】
    if (Timer++ == 20)
    {
        UE_LOG(LogTemp, Warning, TEXT("%s"), *FString("[log by wenjie] Time==20"));
/*【这一段注掉的代码请无视】
        for (auto i : arr)
        {
            arr.Remove(i);
            UE_LOG(LogTemp, Warning, TEXT("%s"), *FString("[log by wenjie] removed one instance"));
        }*/

    }
    UE_LOG(LogTemp, Warning, TEXT("%s %d"), *FString("[log by wenjie] "), Timer);//【请注意这里有打印】
}

▲代码结束

 

第四步:执行之后观察打印:

第一遍打印到413,第二遍运行时,将会从414开始打印!

 

总结:函数中的静态变量在调试过程(PIE)中依然保留值!

 

—— 小江村儿的文杰 zouwj5@qq.com 20178721:39:09

 

转载于:https://www.cnblogs.com/JackSamuel/p/7304973.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值