"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 다음은 핵심 문제에 초점을 맞춘 몇 가지 질문 기반 제목 옵션입니다. * C++ std::ional: 참조 유형에 대한 전문화가 없는 이유는 무엇입니까? (직접적이고 핵심적으로) * C++ std::option의 참조 유형

다음은 핵심 문제에 초점을 맞춘 몇 가지 질문 기반 제목 옵션입니다. * C++ std::ional: 참조 유형에 대한 전문화가 없는 이유는 무엇입니까? (직접적이고 핵심적으로) * C++ std::option의 참조 유형

2024-11-05에 게시됨
검색:345

Here are a few question-based title options, focusing on the core issue:

* C   std::optional: Why No Specialization for Reference Types? (Direct and to the point)
* Reference Types in C   std::optional: Missing Feature or Deliberate Design Choice? (Highl

C의 선택 사항: 참조 유형에 대한 전문화가 없는 이유는 무엇입니까?

Boost와 같은 라이브러리에는 참조 유형에 대한 전문화가 있음에도 불구하고 C 표준 라이브러리의 std::ional은 이러한 기능을 제공하지 않습니다. 이 결정은 그 이론적 근거와 잠재적인 대체 메커니즘에 대한 문의를 촉발시켰습니다.

생략의 근거

n3406(선택 사항에 대한 제안)에 대한 논의 중에 우려가 제기되었습니다. 선택적 참조 포함에 관한 것입니다. 이러한 반대 의견을 인식하여 n3527의 작성자는 선택적 참조를 보조 제안으로 분리하여 표준 선택적 값에 대한 수용 가능성을 높였습니다. 선택 사항은 관련 없는 요인으로 인해 궁극적으로 C 14에 포함되지 않았지만 선택 사항 참조에 대한 위원회의 비승인은 문제가 되지 않았습니다.

현재 대안

비록 std::선택 사항 참조 유형에 대한 전문화를 제공하지 않으므로 표준 라이브러리에는 "기존 객체에 대한 참조" 의미를 제공하는 동등한 구성이 부족합니다. 이로 인해 개발자는 대안을 찾게 될 수 있습니다.

  • Auto_ptr: C 11에서는 더 이상 사용되지 않지만 std::auto_ptr은 소유권 의미론을 사용하여 참조를 시뮬레이션할 수 있습니다. 그러나 메모리 누수와 같은 문제로 인해 사용이 권장되지 않습니다.
  • boost::Optional: Boost는 참조 유형을 지원하는 특수한 선택적 구현을 ​​제공합니다. std::Optional과 동일한 의미 체계를 제공하지만 Boost 라이브러리를 포함해야 합니다.

향후 고려 사항

현재 선택적 참조는 없습니다. C 표준 라이브러리에 대해 위원회는 향후 포함될 가능성을 배제하지 않았습니다. 공식 제안이 제출되면 궁극적으로 제안된 기능의 장점에 대한 위원회의 평가에 따라 결정이 내려집니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3