C 11에서 COW std::string 구현의 합법성
이전 버전의 C에서는 COW(기록 중 복사)가 std::string에 대한 실행 가능한 구현 전략. 그러나 C 11의 유효성에 대한 우려가 제기되었습니다. 이 기사에서는 C 11의 COW 기반 std::string 구현의 적법성을 조사합니다.
질문: C 11이 명시적으로 금지합니까? COW 기반 std::string 구현?
답변: 아니요, C 11은 COW 기반 구현이 금지된다는 점을 명시적으로 명시하지 않습니다.
질문: 그렇지 않은 경우 이 제한은 어떻게 암시됩니까?
답변: 반복자 및 참조 무효화와 관련된 C 11의 새로운 요구 사항으로 인해 제한이 발생합니다. 표준의 섹션 21.4.1 p6에 따르면 무효화는 특정 경우에만 허용됩니다:
COW 문자열 구현에서 상수가 아닌 연산자[]를 호출하면 복사 및 참조 무효화가 필요합니다. 그러나 앞서 언급한 조항에서는 이를 금지하고 있습니다. 따라서 C 11에서는 COW std::string 구현이 더 이상 허용되지 않습니다.
위 내용은 C 11에서 std::string의 쓰기 시 복사 구현이 합법적인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!