考虑以下几点:我可以投出浮动浮动*的POD数组吗?
#include <vector>
using namespace std;
struct Vec2
{
float m_x;
float m_y;
};
vector<Vec2> myArray;
int main()
{
myArray.resize(100);
for (int i = 0; i < 100; ++i)
{
myArray[i].m_x = (float)(i);
myArray[i].m_y = (float)(i);
}
float* raw;
raw = reinterpret_cast<float*>(&(myArray[0]));
}
是raw
保证有正确的值200辆连续花车?也就是说,标准是否保证了这一点?
编辑:如果以上是有保证的,并且如果Vec2
有一些功能(非虚拟)和一个构造函数,那么保证仍然存在吗?
注:我意识到这是危险的,在我的具体情况我没有 的选择,因为我有一个第三方库的工作。
一个很好的问题,如果一切正常,就不会'飘*原料=(myarray的[0] .m_x) '没有铸造就做同样的事情? – Axel