Nếu tôi có một lớp như sauCấu trúc của một C++ Object trong Memory Vs một Struct
class Example_Class
{
private:
int x;
int y;
public:
Example_Class()
{
x = 8;
y = 9;
}
~Example_Class()
{ }
};
Và một struct như sau
struct
{
int x;
int y;
} example_struct;
là cấu trúc trong bộ nhớ của example_struct
simmilar đó trong Example_Class
ví dụ: nếu tôi làm như sau
struct example_struct foo_struct;
Example_Class foo_class = Example_Class();
memcpy(&foo_struct, &foo_class, sizeof(foo_struct));
sẽ foo_struct.x = 8
và foo_struct.y = 9
(ví dụ: giá trị giống với giá trị x, y trong foo_class)?
Lý do tôi hỏi là tôi có thư viện C++ (không muốn thay đổi nó) đang chia sẻ một đối tượng với mã C và tôi muốn sử dụng cấu trúc để biểu diễn đối tượng đến từ thư viện C++. Tôi chỉ quan tâm đến các thuộc tính của đối tượng.
Tôi biết tình huống lý tưởng sẽ có lớp bọc Example_class tạo một cấu trúc chung giữa mã C và C++ nhưng sẽ không dễ dàng thay đổi thư viện C++ đang sử dụng.
Chỉ cần một bình luận nhỏ, nhà xây dựng của bạn có thể (và một số nói nên) được viết như thế này: Example_Class(): x (8), y (9) {} – Dan