Memcpy zugrunde liegende Daten von STD :: Vektor von Objekten

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Memcpy zugrunde liegende Daten von STD :: Vektor von Objekten

by Guest » 08 Feb 2025, 16:45

Ist das sicher oder funktioniert dies einfach an meinem aktuellen Compiler? Gibt es etwas darüber im Standard? Das Ergebnis des Floats -Vektors ist korrekt. < /P>

Code: Select all

class Color {
public:
Color(float r, float g, float b, float a) : mColor{r,g,b,a} {};

inline const float *data() const
{
return mColor;
}

private:
enum {vectorSize = 4};
float mColor[vectorSize];
};

//test
std::vector colors(2);
std::vector floats(8);
colors[0] = Color(0.1, 0.2, 0.3, 0.4);
colors[1] = Color(0.5, 0.6, 0.7, 0.8);
memcpy(floats.data(), colors.data(), 8 * sizeof(float));

Top