Если у меня есть класс следующим образом
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
похожей на структуру в 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
(т.е. те же значения, что и значения x, y в foo_class)?
Я спрашиваю, есть ли у меня библиотека С++ (не хочу ее менять), которая использует объект с кодом C, и я хочу использовать структуру для представления объекта, идущего из библиотеки С++. Меня интересуют только атрибуты объекта.
Я знаю, что идеальная ситуация заключалась бы в том, чтобы обернуть Example_class вокруг общей структуры между кодом C и С++, но не будет легко изменить используемую библиотеку С++.