Números inteiros assinados versus não assinados para comprimentos / contagens
Para representar uma variável de comprimento ou contagem, é melhor usarassinado ousem assinatura inteiros?
Parece-me que o C ++ STL tende a preferirsem assinatura (std::size_t
como emstd :: vector :: size ()em vez disso, C #BCL tende a preferirassinado inteiros (como emICollection.Count.
Considerando que um comprimento ou uma contagem são inteiros não negativos, minha intuição escolheriasem assinatura; mas não consigo entender por que os designers do .NET escolheram números inteiros assinados.
Qual é a melhor abordagem? Quais são os prós e contras de cada um?