Nie mogę zrozumieć działania konstruktora kopiującego z kodu:
template <class T,int n>
class ArrayTP
{
T ar[n] ;
public:
ArrayTP(){};
explicit ArrayTP(const T & v);
};
template <class T,int n>
ArrayTP<T,n>::ArrayTP(const T & v)
{
for (int i = 0; i<n;++i)
ar[i] = v;
}
linijka ar[i] = v
dlaczego to jest poprawne? Bardziej intuicyjne jest dla mnie wyrażenie ar[i] = v.ar[i]
. Być może coś źle zrozumiałem, więc proszę o wyjaśnienie bo póki co wyobrażam sobie z wyrażenia ar[i] = v;
przypisanie do każdego elementu tablicy ten sam adres tablicy.