title: Moving from C array to std::map <int, val> operator `-` gotcha
body: <p>I had a C style array of some values. I needed it to be a map for memory economy (not allocate all at once and keep but allocate as needed)... It can be made into a set or in futher optimization a vector. But I got on one painfull gotcha: <code>val * v; auto val_index = v - val_collection</code> used to give item id... now such code will not compile. will it in std::vector case? </p>