Implementation of std::map
Readability

With your lengthy template statement, I'd put the class statement onto the next line:

template &lt;/*...*/&gt;
class map


Naming standards

According to this answer, identifiers in the form _Identifier are reserved:


  7.1.3 Reserved identifiers
  
  Each header declares or defines all identifiers listed in its
  associated subclause, and optionally declares or defines identifiers
  listed in its associated future library directions subclause and
  identifiers which are always reserved either for any use or for use as
  file scope identifiers.
  
  
  All identifiers that begin with an underscore and either an uppercase
  letter or another underscore are always reserved for any use.
  
  
  [...]


Const-correctness


You have iterators, but you should also have const iterators:

const_iterator cbegin() const
{
    return &amp;data_[0];
}

const_iterator cend() const
{
    return &amp;data_[size_];
}

empty() should be const:

bool empty() const
{
    return size_ == 0;
}

has_key() should be const and use the aforementioned const iterators:

bool has_key(const key_type &amp;_Key) const
{
    for (const_iterator i = cbegin(); i != cend(); ++i)
    {
        if (i-&gt;first == _Key)
        {
            return true;
        }
    }
    return false;
}