Ну вот, без меня все обсудили.
P>>> A typical call of this function would look like this:
P>>>s += itoa(n).elems;
P>>>[/q]
RO>>А почему не boost::array? Да и assume можно было бы выразить и более уверенно, в виде BOOST_STATIC_ASSERT, или автоматически выбирать размер. Или это только пример из журнала, а внутри иначе?
P>Именно boost::array возврашается boost::array::elems используется
Ага
P>>>да так като поудобней будет, без bost::::::::elems
P>>>P>>>struct S12{ char s[12];};
P>>>char * itoa_result(int v,char *r=S12().s)
P>>>{ ....................
P>>> return r;
P>>>}
P>>>
RO>>Ты с дубу рухнул? S12() окончит свое существование очень быстро, в любом случае раньше, чем юзер успеет использовать результат.
P>Да такоеже время жизни как и у возвращенного boost::array ...
Естественно такое же, но у boost::array конструктор копирования более безопасный, чем у указателя.