Tipos¶
Los diferentes valores (enteros, reales, caracteres, vectores, listas, diccionarios, etc.) que puede manejar un lenguaje se agrupan en tipos.
Un tipo se configura a partir de:
un conjunto de valores
Por ejemplo, un conjunto formado por enteros {…,-3,-2,-1,0,1,2,3,…}
las operaciones permitidas para esos valores
Por ejemplo, para los enteros disponemos de la suma (
+), resta (-), división (/), multiplicación (*) y resto de la división entera (%)una aplicación que asocia a cada valor del tipo una representación binaria
Por ejemplo, la representación binaria del valor
-2con tipointen C/C++ es una agrupación de 32 bits:11111111111111111111111111111110
Usaremos habitualmente en el curso los siguientes tipos:
boolpara representar valores booleanos, es decir, cierto o falso.intpara representar valores enteros.doublepara valores reales.charpara caracteres.stringpara cadenas de caracteres.vector<tipo>para colecciones de datos del mismo tipo.
Clasificaciones¶
Los comités de estandarización de cada lenguaje o diferentes autores tienen (y varían en el tiempo) su propia terminología acerca de conceptos tales como tipo primitivo, tipo nativo, tipo básico, tipo fundamental, tipo compuesto, tipo escalar, etc. por lo que la bibliografía es confusa y contradictoria.
Una forma no bizantina de clasificarlos podría ser:
Tipos nativos, proporcionados por el lenguaje, que pueden ser simples o compuestos.
Por ejemplo,
bool,char,int,floatodoubleen C++Tipos definidos por el programador o suministrados por una biblioteca estándar.
Por ejemplo,
stringovectorde la biblioteca estándar de C++