मेरे पास 3 डी वेक्टर क्लास है। निजी चर परिभाषित किए गए हैं:मेमोरी तुलना, जो तेजी से है?
union { struct { double x; double y; double z; }; double data[3]; };
ऑपरेटर == लागू करने में, जो तेज़ है?
return this->x == v.x && this->y == v.y && this->z == v.z;
या
return memcmp(this->data, v.data) == 0;
मैंने यूनियन का उपयोग किया ताकि मैं केवल 'डेटा' को तृतीय पक्ष एपीआई में पास कर सकूं जिसके लिए' डबल * 'की आवश्यकता होती है। – Anthony
@ स्टीफन - सीधे संरचना को memcmp-ing जोखिम भरा हो सकता है। यदि संकलक पैडिंग में डालता है, तो संरचनाएं भिन्न हो सकती हैं भले ही सभी फ़ील्ड समान हों। –
@ आर सैमुअल: धन्यवाद, अच्छा बिंदु। _comment backrawn._ :) – Stephen