Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: AnthonyS en 14 Diciembre 2016, 19:03 pm



Título: ¿Alguien podría ayudarme con este fragmento de código?
Publicado por: AnthonyS en 14 Diciembre 2016, 19:03 pm
Quisiera usar este fragmento,el caso es que necesito implementar esta estructura para cualquier tipo de dato,y usar posicon como un tipo de dato que apunte a nodos que pide el problema.
Gracias de antemano.

Código
  1. template<typename T>
  2. struct nodo
  3. {
  4.    T elemento;
  5.    nodo* anterior;
  6.    nodo* siguiente;
  7.    nodo(const T& contenido,nodo* a=POS_NULA,nodo* b=POS_NULA) :     elemento(contenido),anterior(a),siguiente(b) {};
  8. };
  9.  
  10. template<typename T>
  11. typedef nodo* posicion;
  12.  



Mod: Los códigos deben ir en etiquetas GeSHi


Título: Re: ¿Alguien podría ayudarme con este fragmento de código?
Publicado por: ivancea96 en 15 Diciembre 2016, 17:19 pm
Esa estructura ya funciona para cualqueir tipo de dato, con el template.
Lo único, ese typedef. No puedes hacer un template de un typedef.
Si utilizas C++11 o superior, podrías utilizar using:
Código
  1. template<typename T>
  2. using posicion = nodo<T>*;

Pero salvo que te sea realmente necesario, yo no lo haría.


Título: Re: ¿Alguien podría ayudarme con este fragmento de código?
Publicado por: AnthonyS en 15 Diciembre 2016, 19:15 pm
Muchas gracias por la respuesta,he terminado haciéndolo de otra forma,pero aun así seguramente vaya a usar tu propuesta en otros código.
Un saludo.
Anthony