是否可以使用vector <T>作为值来定义unordered_map?

马泰奥

我有一个矢量模式,其吸气剂如下所示:

vector<A>& getA() const { return a; }
vector<B>& getB() const { return b; }
vector<C>& getC() const { return c; }
...

我interesed具有某种功能一样vector<T>& getByName(string s) const,这样我可以调用该函数是这样的:getByName("A")getByName("B")等等。

我一直在使用一个无序地图试过,但我还没有找到任何合适的方法,使这样的工作线:unordered_map< string, vector<T> >

A,B,C ...是完全不同的结构,因此多态解决方案不是我想要的。

正如vector<T>一个具有固定大小的容器(如果我没记错的话,是24个字节)一样,我不明白为什么无论向量的类型如何,映射都无法将这些字节存储在内存中。

马歇尔·库洛

由于vector是一个具有固定大小的容器(如果我没记错的话,它是24个字节),因此我不明白为什么无论vector的类型如何,映射都无法将那些字节存储在内存中。

由于C ++是一种强类型语言,和事实的类型vector<A>vector<B>并且vector<C>是相同的大小并不重要,因为它们是不同的类型

(在大多数实现中)Apair<int16_t, int16_t>的大小与相同int32_t,但这并不能使它们互换。

您可能(我想)有一个map<string, variant<...>或一个map<string, any>,但这将需要您自己管理所有类型。

[后来]

我对具有某种功能感兴趣 vector<T>& getByName(string s)

这种函数的问题在于,您必须(在编译时)指定函数将返回的类型。您希望让返回类型由在运行时传递给函数的参数的值确定。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果禁用了异常,std :: vector <T>是否可以使用T的move构造函数?

来自分类Dev

C ++-在unordered_map中使用多个值作为键的最佳方式

来自分类Dev

在C ++中将unordered_map与自定义值对象一起使用

来自分类Dev

是否可以使用解构来追加?

来自分类Dev

在unordered_map中引用值是否安全?

来自分类Dev

std :: unordered_map <T,std :: unique_ptr <U >>是否可复制?GCC错误?

来自分类Dev

是否可以使用别名作为LIKE搜索值?

来自分类Dev

是否可以使用〜/ .ssh / config处理'-t create'开关?

来自分类Dev

是否可以使用map定义文件夹?

来自分类Dev

是否可以使用map定义文件夹?

来自分类Dev

是否可以使用Python定义没有值的枚举?

来自分类Dev

使用类成员变量来保存内部结构定义中的函数,这些内部函数将用作unordered_map对象的模板参数

来自分类Dev

是否可以将函数引用保留到unordered_map或vector中?

来自分类Dev

是否可以使用CSS calc()来计算宽度/高度比?

来自分类Dev

是否可以使用花括号{}来细分Java代码?

来自分类Dev

是否可以使用LINQ来检测重复的相邻字符?

来自分类Dev

是否可以使用类型类来实现特征?

来自分类Dev

是否可以使用OFFSET和乘法来分页查询?

来自分类Dev

是否可以使用列表理解来缩短此时间?

来自分类Dev

是否可以使用流畅的DIV布局来创建?

来自分类Dev

是否可以使用“>”来选择“此”对象的子对象?

来自分类Dev

是否可以使用WCF来实现惰性逻辑?

来自分类Dev

是否可以使用scala宏来构造类型?

来自分类Dev

是否可以使用较少的冗余来执行此代码?

来自分类Dev

是否可以使用Firebase安全规则来验证密钥?

来自分类Dev

是否可以使用 Microsoft Azure Queue 来替换 Thread?

来自分类Dev

是否可以使用 AppDomain 来应对 WebBrowser 内存泄漏?

来自分类Dev

是否可以使用 switch 来选择 ImageFormat?

来自分类Dev

是否可以使用部分 SRC 来查找元素/框架?

Related 相关文章

  1. 1

    如果禁用了异常,std :: vector <T>是否可以使用T的move构造函数?

  2. 2

    C ++-在unordered_map中使用多个值作为键的最佳方式

  3. 3

    在C ++中将unordered_map与自定义值对象一起使用

  4. 4

    是否可以使用解构来追加?

  5. 5

    在unordered_map中引用值是否安全?

  6. 6

    std :: unordered_map <T,std :: unique_ptr <U >>是否可复制?GCC错误?

  7. 7

    是否可以使用别名作为LIKE搜索值?

  8. 8

    是否可以使用〜/ .ssh / config处理'-t create'开关?

  9. 9

    是否可以使用map定义文件夹?

  10. 10

    是否可以使用map定义文件夹?

  11. 11

    是否可以使用Python定义没有值的枚举?

  12. 12

    使用类成员变量来保存内部结构定义中的函数,这些内部函数将用作unordered_map对象的模板参数

  13. 13

    是否可以将函数引用保留到unordered_map或vector中?

  14. 14

    是否可以使用CSS calc()来计算宽度/高度比?

  15. 15

    是否可以使用花括号{}来细分Java代码?

  16. 16

    是否可以使用LINQ来检测重复的相邻字符?

  17. 17

    是否可以使用类型类来实现特征?

  18. 18

    是否可以使用OFFSET和乘法来分页查询?

  19. 19

    是否可以使用列表理解来缩短此时间?

  20. 20

    是否可以使用流畅的DIV布局来创建?

  21. 21

    是否可以使用“>”来选择“此”对象的子对象?

  22. 22

    是否可以使用WCF来实现惰性逻辑?

  23. 23

    是否可以使用scala宏来构造类型?

  24. 24

    是否可以使用较少的冗余来执行此代码?

  25. 25

    是否可以使用Firebase安全规则来验证密钥?

  26. 26

    是否可以使用 Microsoft Azure Queue 来替换 Thread?

  27. 27

    是否可以使用 AppDomain 来应对 WebBrowser 内存泄漏?

  28. 28

    是否可以使用 switch 来选择 ImageFormat?

  29. 29

    是否可以使用部分 SRC 来查找元素/框架?

热门标签

归档