template<class Any>
int LengthOfArray(Any * p)
{
return int(p+1) - int(p);
}
cout << LengthOfArray(&a) ;
P的下一个元素减去P自己,这样就得到一个元素的大小..
对于数组对象类型的指针 +1,就是移到下一个数组元素
p是class Any的指针,他存有一个class Any的对象地址,那么p+1就是下一个class Any对象的地址,也就是前一个class Any对象的结束地址。这样相减就是class Any对象的大小了。