typedef tr1::unordered_map <string, pin *> pin_cmp;
pin_cmp _pin_cmp;
_Pins[_num_pins] = new pin (pin_id, _num_pins, s, n, d);
_pin_cmp[_Pins[_num_pins]->get_name ()] = _Pins[_num_pins]; //performance profiling
你能告诉我代码究竟在做什么吗?
_pin_cmp[_Pins[_num_pins]->get_name ()] = _Pins[_num_pins]; //performance profiling
我不熟悉仍然可以与array []一起使用的unordered_map。我很困惑unordered_map只需要键和值为什么会有array []?
答案 0 :(得分:1)
在上面的示例中,我希望_Pins
是一个顺序容器。
_pin_cmp[_Pins[_num_pins]->get_name ()] = _Pins[_num_pins]; //performance profiling
这行代码访问元素_Pins[_num_pins]
两次:
然后使用对象的名称作为索引将对象放在_pin_cmp
(无序映射)中。
描述了此操作的确切行为here。