Te contamos cómo crear tus propios tipos de datos gestionando aliases junto con templates, y te contamos que es un templates parcial.
Templates parciales
En C ++ existe un empaquetado de datos, denominado pair
, que recibe dos tipos de datos o cualquier combinación entre cualquier tipo de datos que tengamos en nuestro programa.
std::pair<int, int>
int main() {
return 0;
}
Si queremos tener siempre en nuestro programa un primer elemento que sea un unsigned int
, porque vaya a ser el id de algo, por ejemplo, para usarlo como clave en un diccionario, y después otro elemento que no vamos a saber qué va a tener, podemos definir nuestro propio alias.
Para ello vamos a definir el primer tipo, ya que el segundo tipo lo vamos a dejar abierto. Para hacerlo vamos a crear un template.
El segundo tipo va a ser una clase Value
, y vamos a hacer un alias llamado Id_pair
, que será un pair cuyo primer elemento es de tipo unsingned int
, y el segundo elemento lo dejamos abierto, es decir, va a ser un Value
.
Con lo anterior podemos definir nuestro propio tipo, haciendo un wrapper usando una técnica de aliasing mezclado con templating.
template <class Value>
using Id_pair = std::pair<unsigned int, Value>;
int main() {
Id_pair<std::string> pair(1, “foo”);
return=0;
}