Difference Between int and size_t in C++

Haider Ali Apr 12, 2022
Difference Between int and size_t in C++

This guide explains the difference between the size_t and int data types in C++. They have some differences, and sometimes you’ll find developers using size_t instead of int in C++.

Let’s dive into this guide and learn the difference.

Difference Between int and size_t in C++

First, we need to understand that size_t represents the size of objects/variables in bytes. Let’s start with the basic definitions.

In C++, int is considered the basic signed integer type. It’s understood that int will be at least 16 bits wide.

On the other hand, size_t is considered an unsigned integer featuring enough bytes to accommodate any size type. This leaves us with the understanding that size_t will always be able to store more numbers than int.

Integers are signed, implying they may hold positive and negative integral values. Because size_t is an unsigned integer, it does not allow for negative, integral values.

Standard functions use this type for count/number.

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

Suppose you are still having trouble deciding which one to use. Visit this amazing portion of the guide, in which it is clearly explained how not to mix signed and unsigned arithmetic numbers.

Author: Haider Ali
Haider Ali avatar Haider Ali avatar

Haider specializes in technical writing. He has a solid background in computer science that allows him to create engaging, original, and compelling technical tutorials. In his free time, he enjoys adding new skills to his repertoire and watching Netflix.