Пользуюсь gdb.
Наблюдаемый субъект имеет имя m_loginIndexer
.
1. Вывод print m_loginIndexer._M_t._M_impl
:
(gdb) print m_loginIndexer._M_t._M_impl
$20 = {
<std::allocator<std::_Rb_tree_node<std::pair<ent::base::CStringUtf8 const, std::unique_ptr<Poker::CInspectedPlayer, std::default_delete<Poker::CInspectedPlayer> > > > >> = {
<__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<ent::base::CStringUtf8 const, std::unique_ptr<Poker::CInspectedPlayer, std::default_delete<Poker::CInspectedPlayer> > > > >> = {<No data fields>}, <No data fields>},
members of std::_Rb_tree<ent::base::CStringUtf8, std::pair<ent::base::CStringUtf8 const, std::unique_ptr<Poker::CInspectedPlayer, std::default_delete<Poker::CInspectedPlayer> > >, std::_Select1st<std::pair<ent::base::CStringUtf8 const, std::unique_ptr<Poker::CInspectedPlayer, std::default_delete<Poker::CInspectedPlayer> > > >, std::less<ent::base::CStringUtf8>, std::allocator<std::pair<ent::base::CStringUtf8 const, std::unique_ptr<Poker::CInspectedPlayer, std::default_delete<Poker::CInspectedPlayer> > > > >::_Rb_tree_impl<std::less<ent::base::CStringUtf8>, true>:
_M_key_compare = {
<std::binary_function<ent::base::CStringUtf8, ent::base::CStringUtf8, bool>> = {<No data fields>}, <No data fields>},
_M_header = {
_M_color = std::_S_red,
_M_parent = 0x2316d90,
_M_left = 0x2316d90,
_M_right = 0x2316d90
},
_M_node_count = 1
}
2. Пробую спуститься до первого элемента: (а в std::map он в данном случае один): print m_loginIndexer._M_t._M_impl._M_header._M_left
$21 = (std::_Rb_tree_node_base::_Base_ptr) 0x2316d90
Далее, рызменовываю данный указатель и получаю следующее:
$22 = {
_M_color = std::_S_black,
_M_parent = 0xfe94f0,
_M_left = 0x0,
_M_right = 0x0
}
То есть: как-бэ там ничего и нет. Но один элмент в этом мапе точно есть. Подскажите, в чем дело, или расскажите, как правильно добраться до этого элемента. P.S. Случай упрощенный - в мапе один элемент.
Вам нужно использовать так называемый pretty-printer
для GDB. Как подключать можно посмотреть здесь: STL Support Tools. После этого STL-контейнеры будут выводиться в удобочитаемом виде.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Продолжение этой темы Ошибки в коде при решении уравнения переноса
Всем приветКак мне в предложении "Андрусов Анатолий Никифорович пошёл выпить чай у берега Гудзона
Код выше определенно находит необходимый Cell (так как consolelog() выводит то, что необходимо)