http://rextester.com/KUOPA33076
| Код | #include <iterator> #include <iostream> #include <algorithm> #include <array>
//функция, которая вернет массив std::array<int, 3> foo(const std::array<int, 3>& src);
int main() { //наполняем массив первичными значениями std::array<int, 3> a{ {1,2,3} };
//показываем содержимое std::cout<<"--- before ---\n"; std::copy(a.begin(), a.end(), std::ostream_iterator<int>(std::cout, " "));
//отправляем массив в функцию, и получаем оттуда новый const std::array<int, 3> b = foo(a);
//показываем новый массив std::cout<<"\n--- after ---\n"; std::copy(b.begin(), b.end(), std::ostream_iterator<int>(std::cout, " ")); }
std::array<int, 3> foo(const std::array<int, 3>& s) { //для примера числа в новом массиве будут как в старом но с другим знаком size_t i=0; std::array<int, 3> a; std::generate (a.begin(), a.end(), [&s,&i] (){ return -s[i++]; } ); return a; }
|
|