#include <algorithm>
#include <iostream>
#include <array>
using namespace std;
class Vertex
{
public:
Vertex( float x = 0,
float y = 0,
float z = 0)
: x(x), y(y), z(z) {}
operator array<float, 3>() {
return array<float, 3>({x,y,z});
}
void fillArray(float (& const arr)[3]) {
arr[0] = x;
arr[1] = y;
arr[2] = z;
}
float x, y, z;
};
int main() {
Vertex v(1,1.4,2);
array<float, 3> arr = v;
float arr2[3];
v.fillArray(arr2);
for (int i = 0; i < 3; i++) {
cout << arr[i] << " " << arr2[i] << endl;
}
return 0;
}
I2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YXJyYXk+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgVmVydGV4CnsKcHVibGljOgogICAgVmVydGV4KCBmbG9hdCB4ID0gMCwKICAgICAgICAgICAgZmxvYXQgeSA9IDAsCiAgICAgICAgICAgIGZsb2F0IHogPSAwKQogICAgOiB4KHgpLCB5KHkpLCB6KHopIHt9CgoJb3BlcmF0b3IgYXJyYXk8ZmxvYXQsIDM+KCkgewoJCXJldHVybiBhcnJheTxmbG9hdCwgMz4oe3gseSx6fSk7Cgl9Cgl2b2lkIGZpbGxBcnJheShmbG9hdCAoJiBjb25zdCAgYXJyKVszXSkgewoJCWFyclswXSA9IHg7CgkJYXJyWzFdID0geTsKCQlhcnJbMl0gPSB6OwoJfQoJCiAgICBmbG9hdCB4LCB5LCB6Owp9OwoKaW50IG1haW4oKSB7CglWZXJ0ZXggdigxLDEuNCwyKTsKCWFycmF5PGZsb2F0LCAzPiBhcnIgPSB2OwoJZmxvYXQgYXJyMlszXTsKCXYuZmlsbEFycmF5KGFycjIpOwoJCglmb3IgKGludCBpID0gMDsgaSA8IDM7IGkrKykgewoJCWNvdXQgPDwgYXJyW2ldIDw8ICIgIiA8PCBhcnIyW2ldIDw8IGVuZGw7Cgl9CglyZXR1cm4gMDsKfQ==