abs (STL Samples)
Visual C++ で abs の標準テンプレート ライブラリ関数を使用する方法に (STL) ついて説明します。
template<class T>
valarray<T> abs(
const valarray<T>& x
);
解説
[!メモ]
プロトタイプのクラスやパラメーター名はヘッダー ファイルのバージョンと一致しない。ただし読みやすさが向上するように変更されました。
サンプルは整数の valarray 宣言し各配列要素の絶対値を取得するに abs STL の関数を使用します。
使用例
// 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
必要条件
ヘッダー : <valarray>