HOWTO · C++

Différence entre int et size_t en C++

Dans ce guide, nous allons apprendre la différence entre les types de données size_t et int en C++.

Sur cette page

Ce guide explique la différence entre les types de données size_t et int en C++. Ils ont quelques différences, et parfois vous trouverez des développeurs utilisant size_t au lieu de int en C++.

Plongeons dans ce guide et apprenons la différence.

Différence entre int et size_t en C++

Tout d’abord, nous devons comprendre que size_t représente la taille des objets/variables en octets. Commençons par les définitions de base.

En C++, int est considéré comme le type entier signé de base. Il est entendu que int aura une largeur d’au moins 16 bits.

D’autre part, size_t est considéré comme un entier non signé contenant suffisamment d’octets pour accepter n’importe quel type de taille. Cela nous laisse sous-entendre que size_t pourra toujours stocker plus de nombres que int.

Les entiers sont signés, ce qui implique qu’ils peuvent contenir des valeurs intégrales positives et négatives. Comme size_t est un entier non signé, il ne permet pas de valeurs intégrales négatives.

Les fonctions standard utilisent ce type pour compter/nombre.

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

Supposons que vous ayez encore du mal à décider lequel utiliser. Visitez cette partie étonnante du guide, dans laquelle il est clairement expliqué comment ne pas mélanger les nombres arithmétiques signés et non signés.