Re: ламерский вопрос по std::map
От: HiSH Россия http://m0riarty.ya.ru
Дата: 08.05.05 11:34
Оценка:
Здравствуйте, Аноним

Попробовать сделать map<int*, CMyClass>? К сожалению проверить негде.
Одно НО: при таком добавлении, как у тебя приведено, после выхода c[] за пределы видимости в MyMap будет содержаться лабуда (ты реально в него добавляешь всего лишь указатель на int). Выход — использовать std::vector:

  std::map<std::vector<int> CMyClass> MyMap;

  void foo(){
    std::vector<int> key;
    MyMap[key] = value;
  }


ЗЫ. Возможно компилер не скушает std::map<std::vector<int>, тогда std::vector<int> надо объявить тайпдефом

Вы писали:

А>есть std::map<int[3], CMyClass>

А>как можно добавить определенную пару key-value? "int c[3]; MyMap[c] = MyValue;" естественно не работает
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.