官方给出的定义如下:

/**
 * \ingroup object
 * \brief a unique identifier for an interface.
 *
 * This class records a lot of meta-information about a 
 * subclass of the Object base class:
 *  - the base class of the subclass
 *  - the set of accessible constructors in the subclass
 *  - the set of 'attributes' accessible in the subclass
 *
 * \see attribute_TypeId
 *
 * \internal
 *  See the discussion in IidManager about hash chaining of TypeId's.
 */

通俗来说即为:

对于一个接口来说,一个特殊的标识符。

这个类记录了大量的关于类Object的子类的元数据,其中包含:

  • 子类的基类。
  • 子类中的可访问构造函数集。
  • 子类中可访问的属性

ns3的源代码中,实现了一个元类,该类用来专门存储其他类的数据,其名字叫做TypeId,这个类实现于ns3-gym/build/ns3目录下的type-id.h文件中,不继承于任何类