हाल ही में एक कोड समीक्षा में आया था कि निम्नलिखित उदाहरण में:
enum class A : uint8_t
{
VAL1, VAL2
};
...
std::vector<A> vOfA; // Assume this is sized and full of some stuff.
std::memcpy(wire_buffer, vOfA.data(), vOfA.size() * sizeof(A));
हमें sizeof(std::underlying_type<A>::type)इसके बजाय उपयोग करना चाहिए sizeof(A)। क्या यह संभव है कि ये कभी अलग हो सकते हैं? क्या किसी के पास एक मानक उद्धरण है जो इसकी गारंटी देता है?
sizeof(A)? इसके अलावा: यदि वे एक अलग आकार (असंभावित) हैं, तो उपयोग sizeof(std::underlying_type<A>)करना गलत होगा।
sizeof(std::underlying_type<A>)शायद है 1। क्या आपका मतलब था ::type?
A, तो एक निश्चित रूप से उपयोग करना चाहता है sizeof(A)और कोड को ध्यान नहीं देना चाहिए कि किस प्रकार का Aहै।