Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Ассоциативный массив в STL


Автор: Kaser 10.3.2004, 11:32
Подскажите, есть ли в STL что-нибудь вроде хеша в Perl или вроде ассоциативного массива. Обращаться требуется только по именам (строковые), индексы не требуются. Или не в STL.

Автор: mr.DUDA 10.3.2004, 11:44
контейнер map.
Цитата
#include < map >
#include < string >

using namespace std;

int main(int argc, char* argv[])
{
      map< string, int > m;
      m["AAA"] = 1;
      m["BBB"] = 2;

      int x = m["AAA"]; // получим 1
      int y = m["CCC"]; // будет равно 0

      return 0;
}

это ассоциативный список; от реализации STL зависит его внутреннее устройство - м.б. даже хешированным, но почти во всех версиях STL контейнер map хранит данные в сбалансированном двоичном дереве.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)