为数组指定向量时,为什么我的大小会发生变化?
cout << endl << vertices.size() << endl; //outputs correct number-> 89473
GLfloat* Vertices = &vertices[0];
GLfloat* Colors = &colors[0];
cout << endl << sizeof(Vertices) << endl; //outputs incorrect number-> 4
我知道我可以循环并单独分配(而不是分配一行),但我只是想知道为什么会发生这种情况。
答案 0 :(得分:6)
vertices.size()
给出顶点数组中的元素数(89473),而sizeof(Vertices)
计算指针的大小,恰好是4。