STL容器,哪个适合?

时间:2015-01-26 17:50:52

标签: c++ stl directx containers

我希望能够将ID3DXFonts存储在STL容器中,这需要完成,因为某些程序将使用脚本语言编写。然而,它的其他部分需要硬编码才能不受干扰。

我需要能够锻炼什么字体,需要渲染屏幕上的每个项目。通过脚本硬编码或编程的天气。

我想知道哪个STL容器适合这个,就像在屏幕上绘制元素的时间一样。可能不必使用所有字体,我需要从列表中说出第n个元素。

至于将字体标记为文本字符串,我正在考虑使用模板来保存文本以及STL中的字体ID或位置。

2 个答案:

答案 0 :(得分:0)

答案有两个步骤:

  1. 您应该使用智能指针(可能是std::unique_ptr,可能是std::shared_ptr,甚至可以使用dedicated com-pointers中的一个来存储每个接口指针。

    < / LI>
  2. 如果您想要对序列进行随机访问,则不会有std::vector,而是std::array。如果密钥更随意地分布(或不是整数),std::map甚至std::unordered_map可能更合适。

答案 1 :(得分:0)

如果您知道所需字体的索引,请使用std::vector。如果您必须查找密钥,那么您可能希望使用std::unordered_map(这是标准的c ++哈希映射)。