avoid auto in type or non type parameters ?
In Templates/intro, I think this may be confusing for beginners :
template<class TypeT, std::size_t Nelts>
MyArray<TypeT, Nelts>::MyArray(TypeT initial_value)
{
for (auto i = 0ul; i < Nelts; ++i)
content_[i] = initial_value;
}
as it suggest that beginners know how auto works, and know that std::size_t is an alias for unsigned long. I would go more for:
template<class TypeT, std::size_t Nelts>
MyArray<TypeT, Nelts>::MyArray(TypeT initial_value)
{
for (std::size_t i = 0; i < Nelts; ++i)
content_[i] = initial_value;
}