As Hans Passant wishes here is the scenario of mine. I have a mixed mode application in which the native code does all the hard work while respecting the performance and managed code is responsible for only GUI. Also users will be participating by writing their proprietary C# code. I have C++ for native classes, C# for GUI and user code and C++/Cli for wrapper classes in between. Among all of my C++ classes there is one that does %90 of the calculations and is created a different parameter each time. Let's call it NativeClass. There are apprx. 2000 instances of this NativeClass and I have to find the right instance related to some parameter before it does calculation. So I devised a hash_map, with parameters being the hash code, for this purpose. When I get a parameter, I seek for the right instance in hash_map, I find it and call someof its methods. here is the scenario of