memcpy를 사용하여 간단하게 복사 가능한 객체 생성
C로 작업할 때 개발자는 memcpy를 사용하여 객체의 표현 바이트입니다. 특히, 이 행위가 객체 생성 또는 할당을 구성하는지 여부에 대한 의문이 제기됩니다.
C 표준에서는 이 시나리오를 명시적으로 다루지 않기 때문에 이 질문은 아직 해결되지 않은 상태로 남아 있습니다. 그러나 특정 제안과 토론은 문제에 대한 지침을 제공합니다.
공식 표준의 관점
현재 C 14 초안 표준에는 다음과 같이 명시되어 있습니다. "객체는 [.. .] 정의, new-expression 또는 필요할 때 구현에 의해."
또한, 사소한 복사 가능한 유형(예: 3.9 [basic.types])의 복사를 다루는 기존 절은 주로 초점을 맞춥니다.
p0593 제안
p0593 제안은 이 문제를 해결하고 하위 수준 개체 조작을 위한 암시적 개체 생성을 정의하려고 시도합니다. 새로 할당된 스토리지 내에서 충분히 사소한 유형의 객체가 자동으로 생성되어 잘 정의된 동작을 보장하도록 제안합니다.
p0593에 따르면 다음 작업은 암시적으로 객체를 생성해야 합니다.
기타 고려 사항
[ub] 복사를 피하기 위한 유형 말장난에 대한 논의는 복잡성을 더욱 강조합니다.
전반적으로 이 주제에 대한 현재 지침은 해석의 여지가 있지만 p0593과 같은 제안은 이러한 작업에 대한 명확성과 정의된 동작을 제공하는 것을 목표로 합니다.
위 내용은 C에서 간단하게 복사 가능한 객체를 생성하는 데 memcpy를 사용할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!