abs
abs
TOC
Collapse the table of content
Expand the table of content
Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer

abs (STL Samples) 

Illustrates how to use the abs Standard Template Library (STL) function in Visual C++.


template<class T>
   valarray<T> abs(
      const valarray<T>& x 
   );

NoteNote

The class/parameter names in the prototype do not match the version in the header file. Some have been modified to improve readability.

The sample declares a valarray of integers and uses the abs STL function to get the absolute value for each array element.

// abs_main.cpp
// compile with: /EHsc
#include <iostream>                 // for i/o functions
#include <valarray>                 // for valarray
using namespace std;

#define ARRAY_SIZE  10              // array size
typedef valarray<int> INTVALARRAY;  // type for valarray of ints

int main()
{
    int i;
    // Initialize val_array to 0, -1, -2, etc.
    INTVALARRAY val_array(ARRAY_SIZE);
    for (i = 0; i < ARRAY_SIZE; i++)
        val_array[i] = -i;

    // Display the size of val_array.
    cout << "Size of val_array = " << val_array.size() << "\n\n";

    // Display the values of val_array before calling abs().
    cout << "The result of val_array before calling abs():\n";
    for (i = 0; i < ARRAY_SIZE; i++)
    {
        cout << val_array[i];
        if (i < ARRAY_SIZE - 1)
            cout << ", ";
    }
    cout << endl << endl;

    // Display the result of val_array after calling abs().
    INTVALARRAY abs_array = abs(val_array);
    cout << "The result of val_array after calling abs():\n";
    for (i = 0; i < ARRAY_SIZE; i++)
    {
        cout << abs_array[i];
        if (i < ARRAY_SIZE - 1)
            cout << ", ";
    }
    cout << endl;
}

Size of val_array = 10

The result of val_array before calling abs():
0, -1, -2, -3, -4, -5, -6, -7, -8, -9

The result of val_array after calling abs():
0, 1, 2, 3, 4, 5, 6, 7, 8, 9

Header: <valarray>

Show:
© 2016 Microsoft