myprint.hpp

#include <iostream>
#include <string>

template <typename T>
inline void PRINT_ELEMENTS(const T& coll, const std::string& optstr = "")
{
    std::cout << optstr;
    for (const auto& elem:coll)
    {
        std::cout << elem << "  ";
    }
    std::cout << std::endl;
}

test.cpp

#include <array>
#include <algorithm>
#include <functional>
#include <numeric>

#include "myprint.hpp"

using namespace std;

int main()
{
    array<int, 10> array1 = { 3,7,9,5,2 };
    PRINT_ELEMENTS(array1);

    array1.back() = 666;
    array1[array1.size() - 2] = 555;
    PRINT_ELEMENTS(array1);

    cout << "sum:" << accumulate(array1.begin(), array1.end(), 0)<<endl;

    transform(array1.begin(),array1.end(),array1.begin(),negate<int>());

    PRINT_ELEMENTS(array1);

    system("pause");
    return 0;
}

3 7 9 5 2 0 0 0 0 0
3 7 9 5 2 0 0 0 555 666
sum:1247

-3 -7 -9 -5 -2 0 0 0 -555 -666
请按任意键继续. . .