최근에 다음 예제에서 코드 검토를 수행했습니다.
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
s를 다룰 때 , 분명히 사용 sizeof(A)
하고 싶고 코드는 어떤 종류의 유형을 신경 쓰지 않아야합니다 A
.