template<typename Iterator,typename Value>autofind(Iterator first, Iterator last, Value const& value){for(; first != last &&*first != value;++first);return first;}
template<typename T,unsigned size>
T*begin_def(T(&arr)[size]){return arr;}// the same as std::endtemplate<typename T,unsigned size>
T*end_def(T (&arr)[size])^^//We usually don't use a function name which is the same as the function of standard libary^^//This should not be const{return arr + size;}