\(\texttt{valarray}\) Template Class
\(\texttt{valarray}\) 템플릿 클래스
- 수치값들이 들어있는 배열에 대한 연산을 지원하는 템플릿이다.
- \(\texttt{vector}\)나 \(\texttt{array}\) 클래스 또한 여러 종류의 수치값들을 리스트로 저장하는 컨테이너 템플릿 클래스이지만, \(\texttt{valarray}\)처럼 모든 사칙연산을 지원하지는 않는다.
- \(\texttt{<valarray>}\) 헤더 파일에 정의되어 있다.
- \(\texttt{valarray}\) 객체를 선언할 때, 수치값의 데이터형을 홑화살괄호(<>)안에 기입하고, 앞에 식별자 \(\texttt{valarray}\)를 붙인다.
Syntax (문법)
- \(\texttt{valarray}\) 객체 선언
// Ex. dataType형 valarray 객체 arrayName 선언 예시
#include <valarray>
...
valarray<dataType> arrayName; // 0개의 dataType형의 배열 arrayName
valarray<dataType> arrayName(n); // n개의 dataType형 값을 저장할 수 있는 배열 arrayName
valarray<dataType> arrayName(v, n); // n개의 dataType형 값을 모두 v값으로 초기화한 배열 arrayName
valarray<dataType> arrayName(Arr, n); // n개의 dataType형 값을 일반 배열 Arr의 첫 n개의 원소로 초기화한 배열 arrayName
arrayName = {12.34, 13.974, 1.2, 3.14}; // C++11부터 valarray 객체에도 일반 배열처럼 초기자 목록을 사용할 수 있게 되었다.
\(\texttt{valarray}\) Template Class Method (\(\texttt{valarray}\) 템플릿 클래스 메서드)
// valarray Class Method
operator[]() // 대괄호를 통해 개별 원소에 접근할 수 있다. (일반적인 배열 표기를 허용한다.)
size() // 원소들의 개수를 리턴한다.
sum() // 원소들의 합을 리턴한다.
max() // 최대 원소를 리턴한다.
min() // 최소 원소를 리턴한다.