如果我有一個類如下結構Vs的結構
class Example_Class
{
private:
int x;
int y;
public:
Example_Class()
{
x = 8;
y = 9;
}
~Example_Class()
{ }
};
而且一個結構如下
struct
{
int x;
int y;
} example_struct;
是在example_struct
simmilar到的內存結構在Example_Class
例如,如果我這樣做
struct example_struct foo_struct;
Example_Class foo_class = Example_Class();
memcpy(&foo_struct, &foo_class, sizeof(foo_struct));
將foo_struct.x = 8
和foo_struct.y = 9
(即:與foo_class中的x,y值相同的值)?
我問的原因是我有一個C++庫(不想更改它)與C代碼共享一個對象,我想用一個結構來表示來自C++庫的對象。我只對對象的屬性感興趣。
我知道理想的情況是讓Example_class將C和C++代碼之間的通用結構包起來,但是要改變正在使用的C++庫並不容易。
只是一個小的評論,你的構造函數可以(也有人說應該)寫成這樣:Example_Class():x(8),y(9){} – Dan 2009-01-08 09:11:28