Da Sie C ++ und nicht C verwenden und da sie vom selben Typ sind, warum sollten Sie x nicht einfach auf v [0] und y auf v [1]
beziehenIch habe so etwas schon einmal benutzt. Ich bin mir nicht sicher, ob es nach dem Standard 100% OK ist, aber es scheint in Ordnung zu sein mit allen Compilern, die ich benötigt habe, um es zu benutzen.
%Vor%Sie können dem Operator [] Grenzen hinzufügen, wenn Sie möchten (Sie sollten es wahrscheinlich wollen), und Sie können auch eine konstante Version von operator [] angeben.
Je nachdem, was "Skalar" ist, können Sie das in C ++ tun. Die Syntax ist fast genau (vielleicht sogar genau genau, aber ich bin bei Gewerkschaften unordentlich) was du in deinem Beispiel geschrieben hast. Es ist das gleiche wie C, außer dass es Beschränkungen für die Typen gibt, die in den Unionen sein können (IIRC müssen sie einen Standardkonstruktor haben). Hier ist der relevante Wikipedia-Artikel .