Yes, but this means that the key is destroyed after its associated value.
Unspecified
Yes, you can depend on std::map storing it's elements in std::pairs, but I don't see anything which specifies the Key portion of a std::pair being destructed before a Value portion.