++ . : string("hello").size() < -5" , ; . , , , , , , , , , ; , .
, , , unsigned. , ++ , , , . unsigned ++, , , Java-.
, , , .
, , size , . ptrdiff_t, , int.
- n_items :
using Size = ptrdiff_t;
template< class Container >
auto n_items( Container& c )
    -> Size
{ return c.size(); }
, , std::list , end(c) - begin(c). (1). :
template< class Item, Size n >
auto n_items( Item (&)[n] )
    -> Size
{ return n; }
: , .
1) , , . . I.e, , , , .