共享指针,引用计数器是否为1{UE_LOG(LogTemp,Warning,TEXT("sharedptr5 is not unique"));}SharedPtr5.Get()->a;//解引用//打印5UE_LOG(LogTemp,Warning,TEXT("a is %d"),SharedPtr5.Get()->a);SharedPtr111.Reset();//重置,把共享指针置为空int32 count2=SharedPtr5.GetSharedReferenceCount();...
所以看到这一行抛出了空指针异常,我直接就给出了一个结论:首先排除 field1 为 null,因为有默认值。那只可能 reqDto 传进来的就是 null,导致在 get 字段的时候出现了空指针异常。 但是很不幸,这个结论一秒就被推翻了。 因为reqDto 是请求入参,在方法入口处选了几个关键字段进行打印。 如果reqDto 是 null 的...
其中OwnerActor是指向获取目标的指针,InstanceValue是当前对象中的值,DefaultValue是类默认值,两者不一致时打印Log提示。 我们可以对变量进行循环,对每一个变量执行这样的操作,完成对所有bool类型输出,考虑到使用的灵活性,我们将其作为ActorComponent,美术同学可以通过简单的挂载、执行编辑器函数、导出,示例代码如下: //Own...
UE_LOG(LogTemp,Log,TEXT("%s %s %d"),*FString(__FUNCTION__),*FString(__FILE__),__LINE__);
可以看到,我在每个Task中都打了Log输出当前Task名,结束的时候输出 Finish。运行,结果如下图: 我这里没打印线程id,但其实是在多个工作线程上执行的。简单这样几行代码,具体怎么做到依赖的呢?我们先看这里面的几个关键的东西,FGraphEvent,CreateAndDispatchWhenReady的参数Task。这里我直接把内部结构画了图: 上面的lamb...
调用AsShared() 的对象必须是一个智能指针 不能在构造函数内部使用 解决类内部获取指针的问题(会导致被析构多次) classMyClass:publicTSharedFromThis<MyClass>{public:TSharedRef<MyClass>SharedMyself(){returnSharedThis(this);}~MyClass(){UE_LOG(TestLog,Warning,TEXT("MyClass deleted"));}};// 普通指...
DEFINE_LOG_CATEGORY(LogTopDownProject) 定义完宏以后,使用,需要使用UE_LOG去打印,这里我将输入映射上下文设置为空指针,然后打印 if(DefaultMappingContext==nullptr){UE_LOG(LogTemplateCharacter,Error,TEXT("当前操作映射上下文未设置"));} 可以看到在输出日志里面显示打印的内容 ...
定义完宏以后,使用,需要使用UE_LOG去打印,这里我将输入映射上下文设置为空指针,然后打印 if(DefaultMappingContext == nullptr) { UE_LOG(LogTemplateCharacter, Error, TEXT("当前操作映射上下文未设置")); } 1. 2. 3. 4. 可以看到在输出日志里面显示打印的内容 ...
5.BeginPlay、Tick、EndPlay说明 6.UE输出日志用什么函数 UE_LOG(LogTemp, Error, TEXT("123")); 7.打印到屏幕上内容用什么函数 GEngine->AddOnScreenDebugMessage(-1, 5.0f, FColor::Red, TEXT("content")); 8.FString FText FName 都有什么区别 ...
虚幻引擎随笔:UE_LOG宏 ➤ UE_LOG宏用以打印日志,大致原理是定义了一个lambda函数,然后调用之,定义在源码LogMacros.h头文件中。 UE_LOG宏接受四个参数: ①CategoryName:标签名称,默认… 阅读全文 虚幻引擎随笔:断言 ➤ 断言在C++中,通过包含头文件 assert.h 来使用断言宏定义,但C++的assert每次执行检查效...