我定义一个:
typedef struct Point
{
uint x;
uint y;
uchar value;
uchar U;
} Point;
typedef struct Matrix
{
int Num;
Point* point;
} Matrix;
然后
Matrix matrix;
sizeof(matrix);
matrix.point = new Point[2];
然后sizeof(matrix);
前后大小一致,也就是说,我自始至终都无法准确的标识一个对象的长度。也可以这么理解,他的对象里面的长度在另一个对象里面。两者没有什么关系。
还有就是,你在构造函数中,构造函数中只能唯一填一个常量,不能填写变量。这点需注意。
所以,我们无法通过动态开辟数组的形式唯一标识一个对象的长度。