std::begin(std::valarray)

std::begin(std::valarray)

template< class T > 
/*unspecified1*/ begin( valarray<T>& v );
(1) (since C++11)
template< class T > 
/*unspecified2*/ begin( const valarray<T>& v );
(2) (since C++11)

The overload of std::begin for valarray returns an iterator of unspecified type referring to the first element in the numeric array.

1) The return type meets the requirements of mutable RandomAccessIterator.
2) The return type meets the requirements of constant RandomAccessIterator.

The iterator obtained from this function is invalidated when the member function resize() is called on the array v or when the lifetime of v ends, whichever comes first.

Parameters

v - a numeric array

Return value

Iterator to the first value in the numeric array.

Exceptions

(none).

Notes

Unlike other functions that take std::valarray arguments, begin() cannot accept the replacement types (such as the types produced by expression templates) that may be returned from expressions involving valarrays: std::begin(v1 + v2) is not portable, std::begin(std::valarray<T>(v1 + v2)) has to be used instead.

The intent of this function is to allow range for loops to work with valarrays, not to provide container semantics.

Example

See also

(C++11)
specializes std::end
(function template)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
http://en.cppreference.com/w/cpp/numeric/valarray/begin2

在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号

意见反馈
返回顶部