Intanto devi avere due dati: T* e una variabile per la dimensione (int, std::size_t; long long, fai tu).

Poi basta fare l'overload del costruttore.
Ad esempio (i tipi delle variabili le semplifico in int per comodità).
codice:
// costruttori. 
Vector(T* p, int size) // costruttore che prende il puntatore al primo elemento e la dimensione.
{
    _Ptr = new T[Size];
    std::copy(p, p+size,_Ptr);
}

template <typename InpIter>
Vector(InpIter first, InpIter last) // costruttore che un input iterator al primo e ultimo elemento.
{
    _Ptr = new T[ std::distance(first,last) ];
    std::copy(first, last,_Ptr);
}

T MyArray0[128];
// etc

Vector vec0(MyArray,128);

T MyArray1[128];
// etc

Vector vec1(MyArray,MyArray+128);
// oppure
// Vector vec1(&MyArray[0],&MyArray[128]);
 

std::vector std_vec;
// etc
Vector vec1( vec.begin(),vec.end() );
Però se devi usare la tua classe solo per memorizzare dati, stai reinventando la ruota.
Se devi solo travasarli per poi fornire metodi di elaborazione è un altro paio di maniche.

Tra l'altro la domanda iniziale (sul puntatore a vector) è abbastanza strana. Non ti basta un'istanza al vector, senza per forza averne il puntatore?
codice:
template <typename T>
class Vector
{
public:
// etc	
private:
	vector<T> _MyVec;
};