std::abs<div class="t-tr-text">(性病:: valarray的)<div class="t-tr-dropdown"><div><div><div class="t-tr-dropdown-arrow-border"></div><div class="t-tr-dropdown-arrow"></div><div class="t-tr-dropdown-h">原文:</div><div class="t-tr-dropdown-orig">(std::valarray)</div><div class="t-tr-dropdown-notes">文本通过[http://translate.google.com 谷歌翻译]机器翻译。<br/>你可以帮忙校正和验证翻译。点击[http://en.cppreference.com/w/Cppreference:MachineTranslations 此处]查看指示。</div></div></div></div></div>
来自cppreference.com
![]() |
该页由英文版wiki使用Google Translate机器翻译而来。
该翻译可能存在错误或用词不当。鼠标停留在文本上可以看到原版本。你可以帮助我们修正错误或改进翻译。参见说明请点击这里. |
定义于头文件 <valarray>
|
||
template< class T > valarray<T> abs( const valarray<T>& va ); |
||
计算值数组中的每个元素的绝对值.
目录 |
[编辑] 参数
va | - |
[编辑] 返回值
值数组中的值的绝对值
va
.[编辑] 注释
非限定函数( abs )是用于进行计算的。若该函数不可用,则使用 std::abs ,根据依赖参数的查找。
该函数能以异于 std::valarray 的返回类型实现。此情况下,替换类型拥有下列属性:
- 提供 std::valarray 的所有 const 成员函数。
- std::valarray 、 std::slice_array 、 std::gslice_array 、 std::mask_array 及 std::indirect_array 能从替换类型构造。
- 所有接受类型 const std::valarray& 参数的函数,除了 begin() 和 end() (C++14 起)也应该接受替换类型。
- 所有接收二个 const std::valarray& 类型参数的函数应该接受任何 const std::valarray& 与替换类型的组合。
- 返回类型不添加多于超过最深的嵌套参数类型二层的嵌套模板。
[编辑] 可能的实现
template< class T > valarray<T> abs( const valarray<T>& va ) { valarray<T> other = va; for (T &i : other) { i = abs(i); } return other; // proxy object may be returned } |
[编辑] 示例
运行此代码
#include <valarray> #include <iostream> int main() { std::valarray<int> v{1, -2, 3, -4, 5, -6, 7, -8}; std::valarray<int> v2 = std::abs(v); for(auto n : v2) { std::cout << n << ' '; } std::cout << '\n'; }
输出:
1 2 3 4 5 6 7 8
[编辑] 另请参阅
计算的积分值(|x|)的绝对值 (函数) | |
一个浮点值的绝对值(|x|) (函数) | |
(函数模板) |