#include <array>
#include <cstddef>
#include <iostream>
template<std::size_t n>
class float_vec
{
private:
std::array<float, n> underlying_array;
public:
template<typename... Types>
float_vec(Types... args) : underlying_array{{args...}}
{
}
float get(int index) {return underlying_array[index];}
};
int main()
{
float_vec<4> v = {1.0f, 2.0f, 3.0f, 4.5f};
for (int i = 0; i < 4; ++i)
{
std::cout<<v.get(i)<<" ";
}
}
I2luY2x1ZGUgPGFycmF5PgojaW5jbHVkZSA8Y3N0ZGRlZj4KI2luY2x1ZGUgPGlvc3RyZWFtPgoKdGVtcGxhdGU8c3RkOjpzaXplX3Qgbj4KY2xhc3MgZmxvYXRfdmVjCnsKcHJpdmF0ZToKICBzdGQ6OmFycmF5PGZsb2F0LCBuPiB1bmRlcmx5aW5nX2FycmF5OwoKcHVibGljOgogIHRlbXBsYXRlPHR5cGVuYW1lLi4uIFR5cGVzPgogIGZsb2F0X3ZlYyhUeXBlcy4uLiBhcmdzKSA6IHVuZGVybHlpbmdfYXJyYXl7e2FyZ3MuLi59fQogIHsKICB9CiAgCiAgZmxvYXQgZ2V0KGludCBpbmRleCkge3JldHVybiB1bmRlcmx5aW5nX2FycmF5W2luZGV4XTt9Cn07CgppbnQgbWFpbigpCnsKICBmbG9hdF92ZWM8ND4gdiA9IHsxLjBmLCAyLjBmLCAzLjBmLCA0LjVmfTsKICAKICBmb3IgKGludCBpID0gMDsgaSA8IDQ7ICsraSkKICB7CiAgCXN0ZDo6Y291dDw8di5nZXQoaSk8PCIgIjsKICB9Cn0=