std :: map <struct,int>我需要析构函数吗?

KK山

您好在cpp类别XI中有一个

class X{
    private:
        std::map<some_struct, int> C;
}

其中some_struct定义为:

typedef struct{
    int a;
    int b;
    int c;
}some_struct;

我的问题是:是否需要在X的析构函数中指定有关映射C的任何内容?如果是,X的析构函数应该对地图C采取什么行动?

一切都在流动

不,您不需要为some_struct指定析构函数class X

对于任何类型,它都是由编译器自动生成的。只要没有在动态存储中使用new显式分配给类的任何东西new [],就不需要编写应用deletedelete[]操作的析构函数


另外,对于编写c ++代码(vs c),您不需要使用该typedef语法:

struct some_struct {
    int a;
    int b;
    int c;
};

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

std:map析构函数会调用键析构函数还是值析构函数?

来自分类Dev

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

来自分类Dev

为什么在std :: move之后需要析构函数调用?

来自分类Dev

C++ 将 struct 作为 std::map 的键复制到 std::map 吗?

来自分类Dev

从std :: map调用函数

来自分类Dev

类中std :: vector的析构函数

来自分类Dev

可连接std :: thread的析构函数

来自分类Dev

如果A有析构函数,std :: unique_ptr <A>什么时候需要特殊的删除器?

来自分类Dev

std :: vector中的元素可能具有抛出的析构函数吗?

来自分类Dev

std :: list <std :: future>析构函数不会阻止

来自分类Dev

为什么std :: shared_ptr两次调用我的析构函数?

来自分类Dev

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

来自分类Dev

std :: cout用于map <string,int>

来自分类Dev

了解移动构造函数,std :: move和析构函数

来自分类Dev

在int32_t上调用析构函数合法吗?

来自分类Dev

我们是否需要在 std::map<K, V>::find 函数周围锁定互斥锁?

来自分类Dev

我可以将std :: map的内容分配到另一个std :: map吗?

来自分类Dev

std :: move意外调用析构函数

来自分类Dev

什么是std :: ios :: exceptions在析构函数中的预期行为?

来自分类Dev

std :: remove_if是否调用析构函数?

来自分类Dev

C ++清除类析构函数中的std :: list结构

来自分类Dev

std :: vector析构函数中的分段错误

来自分类Dev

为什么从`std :: async`阻塞返回的是将来的析构函数?

来自分类Dev

如何显式调用 std 迭代器的析构函数?

来自分类Dev

map [int] interface {}与map [int] struct {}的内存分配

来自分类Dev

为什么std :: map需要一对?

来自分类Dev

当我可以在析构函数中销毁对象时,为什么还要使用std :: unique_ptr?

来自分类Dev

std :: map可以移动包含的元素吗?

来自分类Dev

按值排序 std::unordered_map<std::string, std::atomic<unsigned int>>

Related 相关文章

  1. 1

    std:map析构函数会调用键析构函数还是值析构函数?

  2. 2

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

  3. 3

    为什么在std :: move之后需要析构函数调用?

  4. 4

    C++ 将 struct 作为 std::map 的键复制到 std::map 吗?

  5. 5

    从std :: map调用函数

  6. 6

    类中std :: vector的析构函数

  7. 7

    可连接std :: thread的析构函数

  8. 8

    如果A有析构函数,std :: unique_ptr <A>什么时候需要特殊的删除器?

  9. 9

    std :: vector中的元素可能具有抛出的析构函数吗?

  10. 10

    std :: list <std :: future>析构函数不会阻止

  11. 11

    为什么std :: shared_ptr两次调用我的析构函数?

  12. 12

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

  13. 13

    std :: cout用于map <string,int>

  14. 14

    了解移动构造函数,std :: move和析构函数

  15. 15

    在int32_t上调用析构函数合法吗?

  16. 16

    我们是否需要在 std::map<K, V>::find 函数周围锁定互斥锁?

  17. 17

    我可以将std :: map的内容分配到另一个std :: map吗?

  18. 18

    std :: move意外调用析构函数

  19. 19

    什么是std :: ios :: exceptions在析构函数中的预期行为?

  20. 20

    std :: remove_if是否调用析构函数?

  21. 21

    C ++清除类析构函数中的std :: list结构

  22. 22

    std :: vector析构函数中的分段错误

  23. 23

    为什么从`std :: async`阻塞返回的是将来的析构函数?

  24. 24

    如何显式调用 std 迭代器的析构函数?

  25. 25

    map [int] interface {}与map [int] struct {}的内存分配

  26. 26

    为什么std :: map需要一对?

  27. 27

    当我可以在析构函数中销毁对象时,为什么还要使用std :: unique_ptr?

  28. 28

    std :: map可以移动包含的元素吗?

  29. 29

    按值排序 std::unordered_map<std::string, std::atomic<unsigned int>>

热门标签

归档