转自:http://aigo.iteye.com/blog/2282142
主要有以下区别(1和2的前提条件要满足:指针所在的class必须是UObjcct的子类):
1,TSubobjectPtr指针是UE4 API里面为C++传统指针(Native C++ Pointer)提供的智能指针。
当指针指向的对象被Destroy以后,TSubobjectPtr会被自动置零,C++传统指针需要你手动置NULL。
2,如果TSubobjectPtr加上UE4 模版符号:UPROPERTY(),那么该指针可以暴露给UE4编辑器操作;而C++传统指针不可以。
参考:
https://answers.unrealengine.com/questions/60581/tsubobjectptr-vs-uboxcomponent.html