std::ranges::cbegin
| 헤더에 정의됨 <ranges>
|
||
| 헤더에 정의됨 <iterator>
|
||
inline namespace /* unspecified */ {
inline constexpr /* unspecified */ cbegin = /* unspecified */;
}
|
(C++20부터) (사용자 정의 지점 객체) |
|
| 호출 시그니처 |
||
template< class T >
requires /* see below */
constexpr /* see below */ auto cbegin( T&& t );
|
(C++20부터) | |
|
const 한정 인자의 첫 번째 요소를 가리키는 반복자를 반환합니다. |
(C++23까지) |
|
인자의 첫 번째 요소를 가리키는 상수 반복자를 반환합니다. |
(C++23부터) |
|
|
(C++23까지) |
|
인자가 lvalue이거나
그 외 모든 경우, |
(C++23부터) |
반환 타입은 모든 경우에 std::input_or_output_iterator 및 constant-iterator(C++23부터)를 모델링합니다.
커스터마이제이션 포인트 객체
ranges::cbegin
이름은
커스터마이제이션 포인트 객체
를 나타내며, 이는
함수 객체
의 const
리터럴
semiregular
클래스 타입입니다. 자세한 내용은
CustomizationPointObject
를 참조하십시오.
참고 사항
lvalue 범위 e (타입 T )에 대해, ranges :: cbegin ( e ) 는 다음과 동일합니다
|
ranges:: begin ( std:: as_const ( e ) ) . |
(C++23 이전) |
|
(C++23 이후) |
예제
#include <cassert> #include <ranges> #include <vector> int main() { std::vector v{3, 1, 4}; auto vi = std::ranges::cbegin(v); assert(3 == *vi); ++vi; // OK, 상수 반복자 객체는 변경 가능함 assert(1 == *vi); // *vi = 13; // 오류: 상수 반복자는 불변 요소를 가리킴 int a[]{3, 1, 4}; auto ai = std::ranges::cbegin(a); // cbegin은 C-배열에서도 작동함 assert(3 == *ai and *(ai + 1) == 1); // *ai = 13; // 오류: 읽기 전용 변수에 할당할 수 없음 }
참고 항목
|
(C++20)
|
범위의 시작 부분을 가리키는 반복자를 반환합니다
(커스터마이제이션 포인트 객체) |
|
(C++11)
(C++14)
|
컨테이너나 배열의 시작 부분을 가리키는 반복자를 반환합니다
(함수 템플릿) |