size_t
es el tipo que se debe utilizar para la indexación de matrices cuando se trabaja con un relativamente matrices genéricas. Es decir. cuando solo tiene una matriz de abstract char
s, int
s u otra cosa.
Cuando está trabajando con una matriz específica, es decir, una matriz que contiene algunos elementos específicos para su aplicación, normalmente debería tener un "tipo de elección" para contar o indexar las entidades de ese tipo en su solicitud. Ese es el tipo que deberías usar. Por ejemplo, si alguna matriz contiene los registros para los empleados de la compañía, entonces ya debe tener un "tipo de elección" en su programa que use para designar la "cantidad de empleados". Ese es el tipo que debe usar para indexar matrices de registros de empleados. Podría ser unsigned int
, podría ser employee_count_t
o algo así. Usar un size_t
desnudo para ese propósito es un error de diseño.
Tenga en cuenta también que size_t
es un tipo que no está pensado para la indexación de matrices. Es un tipo destinado a representar el tamaño del objeto más grande en el programa. "Funciona" para matrices por transitividad: las matrices son objetos, por lo tanto, size_t
siempre es suficiente para indexar una matriz. Sin embargo, cuando diseña un programa, tiene más sentido pensar en términos de contenedores genéricos , en lugar de pensar en términos de matrices específicas. Hoy podría ser una matriz, mañana podría tener que cambiar a una lista vinculada o un árbol en su lugar. En general, el rango de size_t
no es suficiente para representar el número de elementos en un contenedor abstracto, por lo que size_t
en tales casos no es una buena opción.
@Cha gracias, no he encontrado esta publicación antes. – Anycorn