V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yulihao
V2EX  ›  程序员

C++新手,问个问题

  •  
  •   yulihao · 2020-03-24 11:19:08 +08:00 · 1149 次点击
    这是一个创建于 1708 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在 Python 中的
    a={}
    在 C++中应该怎么写?
    第 1 条附言  ·  2020-03-24 11:59:22 +08:00
    谢谢,map 实现了
    wevsty
        1
    wevsty  
       2020-03-24 11:20:32 +08:00
    std::vector<type> a;
    wevsty
        2
    wevsty  
       2020-03-24 11:21:22 +08:00
    @wevsty 不对,看错了应该是 map
    std::map<key, value> a;
    Procumbens
        3
    Procumbens  
       2020-03-24 11:23:01 +08:00
    为了实现各种 O(1)的话用 unordered_map 。
    unordered_map<keyType, valueType> dict;

    e.g.,
    unordered_map<int, int> dict;
    CismonX
        4
    CismonX  
       2020-03-24 11:29:14 +08:00 via iPhone
    std::unordered_map

    (其实 python 3.7 开始的 dict 类似于 Java 中的 LinkedHashMap,在 STL 中并没有对应的实现)
    nnqijiu
        5
    nnqijiu  
       2020-03-24 11:53:12 +08:00
    map
    jmc891205
        6
    jmc891205  
       2020-03-24 12:04:36 +08:00
    python 的 dict 你可以随便往里面塞各种类型的东西
    C++的 unordered_map 不行 当然 C++17 之后可以用 std::any 但还是没有 python 的 dict 那么灵活

    当然 通常来说 我们不应该把随便什么类型的东西都往 dict 里塞
    定义一个良好的数据结构可以使 code 更容易维护
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5637 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 03:25 · PVG 11:25 · LAX 19:25 · JFK 22:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.