Originariamente inviato da RooccoXXI
Ciao a tutti.
Ora, mentre con gli array non vedo problemi perché sono strutture statiche, mi chiedo se ha senso utilizzate un puntatore a uno std::vector, che può essere riallocato se vengono aggiunti nuovi dati.
Concettualmente non fai altro che creare un T** visto che std::vector di suo ha un T* interno. Quindi potrebbe non avere senso.
Ha più senso invece utilizzare un puntatore T* interno alla tua classe da manipolare come ti serve.

Inoltre mi chiedevo se è possibile limitare l'istanza di una classe template a tipi fondamentali
Dipende dal compilatore che usi. Se conforme allo standard C++0x ( g++ > 4.3, Vc++2010), si puo fare una cosa del genere.
codice:
template <typename T>
class Vector { 
    static_assert( std::is_fundamental<T>::value, "Il tipo di dato non è nativo");
etc...
Altrimenti sei costretto a specializzare ogni istanza per i tipi fondamentali.

codice:
// Vector class
#ifndef VECTOR_H
#define VECTOR_H

#include <vector>
using std::vector;

template <typename T>
class Vector
{
public:
	Vector();
	Vector(const T [], int);
	Vector(const vector[/QUOTE]&<T> );
        Vector& operator=(const Vector& )
 
       // eventuale supporto per la move semantics (solo C++0x)
       Vector& operator=(Vector&& )
       Vector& operator=(Vector&& )

	~Vector();
	
private:
};

#endif 

template <typename T>
Vector<T>::Vector(const vector<T>& array)
{
...
}