通过公共成员访问成员数组 [英] access to member array via public members

查看:57
本文介绍了通过公共成员访问成员数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述




我想用memcpy

来初始化3个浮点数的成员数组(出于效率原因)。后来我想通过公共成员访问花车

(例如foo.x,foo.y,foo.z)。


这可能吗? (将在一秒钟后发布想法)


-Jimmy

解决方案

public:

//添加一些编译器指令紧紧包装

浮动x;

浮动y;

浮动z; <后来使用memcpy(& foo.x,p_float_data,3 * sizeof(float))

如何告诉编译器紧紧包装?

memcpy会导致运行时错误吗?


-jimmy


jimmy写道:

我想用memcpy初始化一个3个花车的成员数组
(出于效率的原因)。


无论你的原因是什么,它们对你来说都很重要。

后来我想通过公共成员访问花车
(例如foo。 x,foo.y,foo.z)。

这可能吗? (将在一秒钟内发布想法)




是的,这是可能的。


V


jimmy写道:

public:
//添加一些编译器指令紧紧包装
浮动x;
浮动y;
浮动z;

//稍后使用memcpy(& foo.x,p_float_data,3 * sizeof(float))

这会有用吗?如何告诉编译器紧紧包装?
memcpy会导致运行时错误吗?




您可以简单地声明一个真实数组,然后生成x,y和z

引用数组元素。


V


Hi,

I would like to initialize a member array of 3 floats with a memcpy
(for reasons of efficiency). Later I would like to access the floats
via public members (e.g. foo.x, foo.y, foo.z).

Is this possible? (will post ideas in a second)

-Jimmy

解决方案

public:
// add some compiler directive to tightly pack
float x;
float y;
float z;

// later on use memcpy(&foo.x, p_float_data, 3*sizeof(float))

Would this work? How do I tell the compiler to tightly pack? would the
memcpy cause a runtime error?

-jimmy


jimmy wrote:

I would like to initialize a member array of 3 floats with a memcpy
(for reasons of efficiency).
Whatever your reasons, they are probably important to you.
Later I would like to access the floats
via public members (e.g. foo.x, foo.y, foo.z).

Is this possible? (will post ideas in a second)



Yes, it is possible.

V


jimmy wrote:

public:
// add some compiler directive to tightly pack
float x;
float y;
float z;

// later on use memcpy(&foo.x, p_float_data, 3*sizeof(float))

Would this work? How do I tell the compiler to tightly pack? would the
memcpy cause a runtime error?



You could simply declare a real array, and then make x, y, and z the
references to the array elements.

V


这篇关于通过公共成员访问成员数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆