Tôi có một lớp vectơ 3D. Các biến riêng tư được xác định:So sánh bộ nhớ, nhanh hơn?
union { struct { double x; double y; double z; }; double data[3]; };
Khi thực hiện toán tử ==, nhanh hơn?
return this->x == v.x && this->y == v.y && this->z == v.z;
HOẶC
return memcmp(this->data, v.data) == 0;
Tôi đã sử dụng liên kết để tôi có thể chuyển 'dữ liệu' sang API của bên thứ ba yêu cầu' double * '. – Anthony
@Stephen - trực tiếp memcmp-ing một cấu trúc có thể là nguy hiểm. Nếu trình biên dịch đặt vào đệm, các cấu trúc có thể khác nhau mặc dù tất cả các trường đều giống nhau. –
@R Samuel: Cảm ơn, điểm tốt. _commentdrawn._ :) – Stephen