Вы могли наложить логическую сетку по своей плоскости. Если сетка имеет определенное число содержавших точек, это считают "плотным" и можно было бы тогда разбавить. Это сделано много в ГИС-приложениях при работе с кластерными допусками. Используя сетку помогает разделить Ваш алгоритм утончения.
#include <map>
std::map<int, MyClass> myMap;
MyClass foo;
myMap[5] = foo;
myMap[5].bar = 10;
Вам нужно, чтобы MyClass
был по умолчанию и копируемым, чтобы его можно было создать (если вы используете, например, myMap [5]
]) и скопировал на карту.
you should use like this
typedef std::map myMapType;
myMapType myMap;
But be careful when inserting your class in this as if you insert more than one time for same key, you will never get a notice :
Call myMapType::iterator itr myMap.find(key) , depending upon return type and your program requirments you can procced.
Like wise try to avid access any element using [] operator like
somefunc(myMap[10]);
As you will not get an error from map even there was noting inserted for key 10
Да, единственное условие:
Так что вам просто нужно убедиться, что ваш объект может быть создан копированием, чтобы его можно было скопировать на карту.