关于CCLabel的内存效率与批次渲染的实现疑问

CCLabel是如何与SpriteBatchNode联系在一起的?
以下是我个人的理解:
CCLabel是与FontAtals相关联的,一个CCLabel对应一个FontAtlas,而FontAtlas对应文理与字库集合:
std::unordered_map<ssize_t, Texture2D*> _atlasTextures;
std::unordered_map<unsigned short, FontLetterDefinition> _fontLetterDefinitions;

按照个人理解,一个SpriteBatchNode应该包含多个CCLabel,也就是说CCLabel与SpriteBatchNode应该是多对1的关系,如果是这样的话,那么CCLabel应该有一个SpriteBatchNode的数据成员,但是这与官方源代码是不一样的
官方源码为:std::vector<SpriteBatchNode*> _batchNodes;

这是为什么呢?

最近在研究Label的源码,看看是否能够对Label进行优化,还请各位高手搭救,谢谢!

那么CCLabel应该有一个SpriteBatchNode的数据成员,我觉得成员应该是:SpriteBatchNode *_batchNodes;