No. Funziona solo se l'array è definito così:
codice:
 T my_array[128]; // sizeof(my_array) == 128 * sizeof(T)
Ma se il tuo array è allocato dinamicamente, o decade in un puntatore perché passato a una funzione:
codice:
T* my_array = new T[128]; // sizeof(my_array) == sizeof(void*)
il giochetto non funziona più.