HOWTO · C++

Diferencia entre int y size_t en C++

En esta guía, aprenderemos la diferencia entre los tipos de datos size_t e int en C++.

En esta página

Esta guía explica la diferencia entre los tipos de datos size_t e int en C++. Tienen algunas diferencias y, a veces, encontrarás desarrolladores que utilizan size_t en lugar de int en C++.

Profundicemos en esta guía y aprendamos la diferencia.

Diferencia entre int y size_t en C++

Primero, debemos entender que size_t representa el tamaño de los objetos/variables en bytes. Comencemos con las definiciones básicas.

En C++, int se considera el tipo de entero básico con signo. Se entiende que int tendrá al menos 16 bits de ancho.

Por otro lado, size_t se considera un número entero sin signo con suficientes bytes para adaptarse a cualquier tipo de tamaño. Esto nos deja con el entendimiento de que size_t siempre podrá almacenar más números que int.

Los números enteros están firmados, lo que implica que pueden tener valores integrales positivos y negativos. Debido a que size_t es un entero sin signo, no permite valores integrales negativos.

Las funciones estándar usan este tipo para contar/número.

  1. malloc (size_t)
  2. memcpy (destination, source, size_t)
  3. size_t strlen (const char*)

Suponga que todavía tiene problemas para decidir cuál usar. Visite esta increíble parte de la guía, en la que se explica claramente cómo no mezclar números aritméticos con signo y sin signo.