类中的类似于std :: map或std :: vector的构造方法

SH.0x90

我正在创建一个类,我想知道如何创建类似于std::mapstd::vector样式的构造函数

std::map<std::string, std::string> map = {
    {"foo", "bar"},
    {"biz", "buz"},
    {"bez", "boz"}
};

所不同的是,我不希望我的班级像其他人一样要求要接受的类型std::map

std::map<std::string, std::string>

我希望我的班级接受这种类型的参数:

{
    {"foo", "bar"},
    {"biz", "buz"},
    {"bez", "boz"}
};

但是具有定义的类型。(std :: string,Typer)

“ Typer”是一个类,我将在其中插入作为值std::map

Angew不再为SO感到骄傲

如果我正确理解了您的问题,则希望构造函数采用std::initializer_list<std::pair<std::string, Typer>>,如下所示:

struct Typer
{
  std::string data;

  Typer(const char *s) : data(s) {}
};


struct MyClass
{
  MyClass(std::initializer_list<std::pair<std::string, Typer>> i)
    : myMap(begin(i), end(i))
  {}

  std::map<std::string, Typer> myMap;
};

int main()
{
  MyClass m = {
    {"foo", "bar"},
    {"biz", "buz"},
    {"bez", "boz"}
  };
}

现场例子

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

与类中的std :: map或std :: vector相似的构造方法

来自分类Dev

std :: function类似于委托模板类

来自分类Dev

遍历std :: map中的std :: vector

来自分类Dev

构造类成员std :: vector <std :: unique_ptr <AClass>的智能方法

来自分类Dev

访问在类构造函数中创建的std :: vector

来自分类Dev

容器模板参数std :: map或std :: vector

来自分类Dev

保持与std :: map平行的std :: vector

来自分类Dev

如何使用带有 Boost.Python 的 std::map 或 std::vector 参数的构造函数包装 C++ 类?

来自分类Dev

std :: vector <Object>保留方法是否需要Object类的副本构造函数?

来自分类Dev

在其他类中实现类似std :: array的构造函数

来自分类Dev

std :: vector或std :: list for std :: unordered_map存储桶?

来自分类Dev

这个std :: function类似于

来自分类Dev

在类构造函数中设置std :: vector,为元素构造函数设置不同的值

来自分类Dev

在类构造函数中设置std :: vector,为元素构造函数使用不同的值

来自分类Dev

std :: map和private构造函数

来自分类Dev

如何编写类似于std :: make_tuple的make_vector?

来自分类Dev

与FreePascal中的C ++ std :: vector,std :: deque和std :: map等效

来自分类Dev

具有私有构造函数的std :: map中的C ++ 11类作为Value

来自分类Dev

具有私有构造函数的std :: map中的C ++ 11类作为Value

来自分类Dev

Emscripten 类构造函数采用 std::vector<T>

来自分类Dev

使用std :: vector的std :: map初始化

来自分类Dev

如何初始化std :: map项目的std :: vector?

来自分类Dev

插入std :: map <int,std :: vector <int >>的简短函数

来自分类Dev

将std :: map的数据拆分为多个std :: vector

来自分类Dev

使用std :: vector的std :: map初始化

来自分类Dev

从std :: map <std :: basic_string <char>,std :: pair <int,int(*)(const std :: vector :: Mat

来自分类Dev

在 std::map 中插入非默认构造元素

来自分类Dev

创建类似于我自己的类中的延迟的方法

来自分类Dev

初始化值为std :: vector的std :: map的最佳方法是什么?

Related 相关文章

  1. 1

    与类中的std :: map或std :: vector相似的构造方法

  2. 2

    std :: function类似于委托模板类

  3. 3

    遍历std :: map中的std :: vector

  4. 4

    构造类成员std :: vector <std :: unique_ptr <AClass>的智能方法

  5. 5

    访问在类构造函数中创建的std :: vector

  6. 6

    容器模板参数std :: map或std :: vector

  7. 7

    保持与std :: map平行的std :: vector

  8. 8

    如何使用带有 Boost.Python 的 std::map 或 std::vector 参数的构造函数包装 C++ 类?

  9. 9

    std :: vector <Object>保留方法是否需要Object类的副本构造函数?

  10. 10

    在其他类中实现类似std :: array的构造函数

  11. 11

    std :: vector或std :: list for std :: unordered_map存储桶?

  12. 12

    这个std :: function类似于

  13. 13

    在类构造函数中设置std :: vector,为元素构造函数设置不同的值

  14. 14

    在类构造函数中设置std :: vector,为元素构造函数使用不同的值

  15. 15

    std :: map和private构造函数

  16. 16

    如何编写类似于std :: make_tuple的make_vector?

  17. 17

    与FreePascal中的C ++ std :: vector,std :: deque和std :: map等效

  18. 18

    具有私有构造函数的std :: map中的C ++ 11类作为Value

  19. 19

    具有私有构造函数的std :: map中的C ++ 11类作为Value

  20. 20

    Emscripten 类构造函数采用 std::vector<T>

  21. 21

    使用std :: vector的std :: map初始化

  22. 22

    如何初始化std :: map项目的std :: vector?

  23. 23

    插入std :: map <int,std :: vector <int >>的简短函数

  24. 24

    将std :: map的数据拆分为多个std :: vector

  25. 25

    使用std :: vector的std :: map初始化

  26. 26

    从std :: map <std :: basic_string <char>,std :: pair <int,int(*)(const std :: vector :: Mat

  27. 27

    在 std::map 中插入非默认构造元素

  28. 28

    创建类似于我自己的类中的延迟的方法

  29. 29

    初始化值为std :: vector的std :: map的最佳方法是什么?

热门标签

归档