#include<valarray>
#include<iostream>
using namespace std;
#define FOR(i,a,b) for(int i=(a);i<(b);++i)
#define pn(s) cout << (#s) << " " << (s) << endl
void printValArray(valarray<int> A){
for(int a : A){
cout << a << " ";
}
cout << endl;
}
int main(){
valarray<int> A = {1,2,3};
valarray<int> B = {10,20,30};
auto C = A + B;
printValArray(C);
auto D = A * B;
printValArray(D);
int sum = A.sum();
pn(sum);
int max = A.max();
pn(max);
int size = A.size();
pn(size);
int inner_product = (A * B).sum();
pn(inner_product);
valarray<int> E = {1,2,3,4,5};
printValArray(E.cshift(1));
printValArray(E.cshift(-1));
return 0;
}
$ g++ -std=c++11 experiment.cpp && ./a.out
11 22 33
10 40 90
sum 6
max 3
size 3
inner_product 140
2 3 4 5 1
5 1 2 3 4
valarrayを知ったきっかけ
beta.atcoder.jp