23 febrero 2023

Templates en C++

En C++, las plantillas se utilizan para definir tipos y funciones genéricas que pueden ser utilizados con diferentes tipos de datos sin tener que escribir una versión separada para cada tipo. Un ejemplo común de una plantilla en C++ es una plantilla de función que realiza una operación en una matriz de cualquier tipo de datos. Aquí hay un ejemplo de una plantilla de función que encuentra el valor máximo de una matriz de cualquier tipo de datos:

#include <iostream>

using namespace std; template <typename T> T maxElement(T arr[], int size) { T max = arr[0]; for(int i = 1; i < size; ++i) { if (arr[i] > max) { max = arr[i]; } } return max; } int main() { int intArr[] = { 3, 6, 2, 8, 1 }; double doubleArr[] = { 2.5, 6.8, 1.2, 9.3, 5.1 }; int intMax = maxElement(intArr, 5); double doubleMax = maxElement(doubleArr, 5); cout << "Maximo elemento de un Array entero: " << intMax << endl; cout << "Maximo elemento de un Array doble: " << doubleMax << endl; return 0; }











En este ejemplo, la plantilla de función maxElement se define utilizando la palabra clave template seguida del parámetro de tipo typename T, que indica que la función toma un tipo genérico T. La función toma un array arr y un tamaño size, y devuelve el valor máximo de ese array. La función se utiliza dos veces, una vez con un array de enteros y otra con un array de doubles. Cada vez que se utiliza la función, se especifica el tipo de datos que se utiliza como argumento de la plantilla.

Este es solo un ejemplo de cómo se pueden utilizar las plantillas en C++ para crear funciones y tipos genéricos que se pueden utilizar con diferentes tipos de datos. Con las plantillas, se puede crear código reutilizable y genérico que puede ahorrar tiempo y esfuerzo en el desarrollo de software.


0 comentarios: