Quick A: Yes.
Today on SO:
According to N3485 §220.127.116.11:
(...) the implicit move constructor and move assignment operator for array require that
Tbe MoveConstructible or MoveAssignable, respectively.
std::arraysupports move semantics if the type of its elements does. Great!
However, what does this really mean? I tend to picture this type as a safer version of an array providing an STL-compliant interface but, if this is true, then how can an
std::arraymove-construct its elements? Can I do the same with an ordinary array?