>백엔드 개발 >C++ >C 11에서 `std::벡터`를 만들 수 있나요?

C 11에서 `std::벡터`를 만들 수 있나요?

Patricia Arquette
Patricia Arquette원래의
2024-12-27 01:44:08451검색

Can You Create a `std::vector` in C  11?

벡터는 C 11에서 허용됩니까?

C 표준은 시간이 지남에 따라 특히 C 03에서 C 11로 개정되어 각 컨테이너 작업에 대한 요구 사항이 더욱 엄격해졌습니다. 이를 통해 특정 작업(예: 생성 및 push_back)이 수행되는 한 const 멤버가 있는 구조와 같이 복사 생성 가능하지만 할당 가능하지 않은 유형을 벡터에 포함할 수 있습니다.

문의는 다음과 같이 발생합니다. 표준의 이러한 완화가 벡터const T> C 11에서는. 그러나 이는 사실이 아니다. 할당자 요구 사항에 따르면 T는 "비상수, 비참조 개체 유형"이어야 합니다.

상수 개체의 벡터로 많은 작업을 수행할 수 없으며 const 벡터와 거의 동일합니다의 생성을 더욱 약화시킵니다.

수년에 걸쳐 C 표준은 명시적으로 다음과 같이 이 측면을 지속적으로 개선해 왔습니다. C 03의 모든 유형을 금지하고 C 17의 const 및 휘발성 객체 유형도 제외합니다.

위 내용은 C 11에서 `std::벡터`를 만들 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.