#include <utility>
#include <cstddef>
#include <iostream>
template<class T, size_t N>
class Vector
{
private:
T data[N];
public:
template<class...Types>
explicit Vector(Types&&...args)
: data{std::forward<Types>(args)...}
{ std::cout << "A\n"; }
Vector( Vector const& v ) // Nicht implementiert für die Einfachheit des Beispiels
{ std::cout << "B\n"; }
};
int main()
{
Vector<float, 4> v(1.0f, 2.0f, 0.0f, 1.0f);
Vector<float, 4> w = v;
}
I2luY2x1ZGUgPHV0aWxpdHk+CiNpbmNsdWRlIDxjc3RkZGVmPgojaW5jbHVkZSA8aW9zdHJlYW0+Cgp0ZW1wbGF0ZTxjbGFzcyBULCBzaXplX3QgTj4KY2xhc3MgVmVjdG9yCnsKICAgIHByaXZhdGU6CiAgICAgICAgVCBkYXRhW05dOwoKICAgIHB1YmxpYzoKCiAgICAgICAgdGVtcGxhdGU8Y2xhc3MuLi5UeXBlcz4KICAgICAgICBleHBsaWNpdCBWZWN0b3IoVHlwZXMmJi4uLmFyZ3MpCiAgICAgICAgOiBkYXRhe3N0ZDo6Zm9yd2FyZDxUeXBlcz4oYXJncykuLi59CiAgICAgICAgeyBzdGQ6OmNvdXQgPDwgIkFcbiI7IH0KCiAgICAgICAgVmVjdG9yKCBWZWN0b3IgY29uc3QmIHYgKSAvLyBOaWNodCBpbXBsZW1lbnRpZXJ0IGbDvHIgZGllIEVpbmZhY2hoZWl0IGRlcyBCZWlzcGllbHMKICAgICAgICB7IHN0ZDo6Y291dCA8PCAiQlxuIjsgfQp9OwoKaW50IG1haW4oKQp7CiAgICBWZWN0b3I8ZmxvYXQsIDQ+IHYoMS4wZiwgMi4wZiwgMC4wZiwgMS4wZik7CglWZWN0b3I8ZmxvYXQsIDQ+IHcgPSB2Owp9Cg==