Enteros vs. sin signo para longitudes / conteos
Para representar una longitud o una variable de conteo, ¿es mejor usarfirmado ono firmado enteros?
Me parece que C ++ STL tiende a preferirno firmado (std::size_t
, como enstd :: vector :: size (), en lugar de C #BCL tiende a preferirfirmado enteros (como enICollection.Count.
Teniendo en cuenta que una longitud o un conteo son enteros no negativos, mi intuición elegiríano firmado; pero no entiendo por qué los diseñadores .NET eligieron enteros con signo.
¿Cuál es el mejor enfoque? ¿Cuáles son los pros y los contras de cada uno?