Namespaces
Variants

std::valarray<T>::end

cppreference.net에서
 
 
 
 
iterator       end();
(1) (C++11부터)
const_iterator end() const;
(2) (C++11부터)

수치 배열의 마지막 요소 바로 다음을 가리키는 반복자를 반환합니다.

이 함수가 반환한 반복자는 멤버 함수 resize()가 v에 대해 호출되거나 v의 수명이 끝날 때 중 먼저 발생하는 시점에 무효화됩니다.

매개변수

v - 수치 배열

반환값

수치 배열의 마지막 요소 바로 다음을 가리키는 반복자.

예외

구현에서 정의한 예외를 던질 수 있습니다.

참고 사항

std::valarray 인수를 받는 다른 함수들과 달리 end()는 valarray 관련 표현식에서 반환될 수 있는 대체 타입(예: 표현식 템플릿이 생성하는 타입)을 받아들일 수 없습니다: (v1 + v2).end()는 이식성이 없으므로 대신 std::valarray<T>(v1 + v2).end()을 사용해야 합니다.

이 함수의 의도는 범위 기반 for 루프가 valarray와 함께 동작하도록 하는 것이며, 컨테이너 의미론을 제공하는 것이 아닙니다.

예제

#include <algorithm>
#include <iostream>
#include <valarray>

int main()
{
    const std::valarray<char> va
    {
        'H', 'e', 'l', 'l', 'o', 
        ',', ' ', 
        'C', '+', '+', '!', '\n'
    };

    std::for_each(va.begin(), va.end(), [](char c){ std::cout << c; });
}

출력:

Hello, C++!

결함 보고서

다음 동작 변경 결함 보고서는 이전에 발행된 C++ 표준에 소급 적용되었습니다.

DR 적용 대상 발행 시 동작 올바른 동작
LWG 2058 C++11 1. end()는 대체 타입을 지원해야 했음
2. 반환된 반복자가 언제 무효화될지 명시되지 않았음
1. 필요하지 않음
2. 명시됨
P3016R6 C++11 비멤버 end() 함수가 범위 접근에 불일치를 도입함 end()을 멤버 함수로 변경함

같이 보기

(C++11)
시작 반복자를 얻습니다 valarray
의 (공개 멤버 함수)