>백엔드 개발 >C++ >컨테이너 요소를 관찰하고 수정하기 위해 C 11의 범위 기반 For 루프를 어떻게 사용해야 합니까?

컨테이너 요소를 관찰하고 수정하기 위해 C 11의 범위 기반 For 루프를 어떻게 사용해야 합니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-20 03:55:12237검색

How Should I Use C  11's Range-Based For Loop for Observing and Modifying Container Elements?

C 11의 범위 기반 for는 어떻게 사용해야 하나요?

구문:

C 11의 범위 구문- for 루프 기반은 컨테이너에서 원하는 작업에 따라 달라집니다. 요소:

요소 관찰:

  • 요소만 관찰하려면 const 참조로 캡처합니다. for (const auto& elem : 컨테이너)

    • 복사 비용이 저렴한 유형의 경우 다음과 같이 단순화합니다. for (auto elem : 컨테이너) if 원합니다.

요소 수정:

  • (비상수) 참조로 캡처: for(auto& elem : 컨테이너)

    • 프록시 반복자가 있는 컨테이너의 경우 (예: std::Vector), 사용: for (auto&& elem : 컨테이너)

지침:

관찰 vs. 수정

관찰:

  • 목표는 요소를 수정하지 않고 액세스하는 것입니다.
  • (const auto& elem : 컨테이너) 또는 for (auto elem : 컨테이너) 요소가 저렴한 경우 copy.

수정:

  • 목표는 요소를 제자리에 수정하는 것입니다.
  • 사용 용도(auto& elem : 컨테이너 ).
  • 프록시 반복자의 경우 다음을 사용합니다. for (auto&& elem : 컨테이너).

일반 코드:

일반 코드에서는 다양한 유형 및 컨테이너와의 호환성을 보장하기 위해:

관찰 :

  • 항상 (const에 사용) auto& elem : 컨테이너).

수정:

  • (auto&& elem : 컨테이너)에 사용합니다.

위 내용은 컨테이너 요소를 관찰하고 수정하기 위해 C 11의 범위 기반 For 루프를 어떻게 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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