C++ Valarray 库 - Function operators
描述
这些函数中的每一个都对 valarray 中的所有元素执行它们各自的操作。
声明
以下是 std::valarray 运算符函数的声明。
valarray operator+() const; valarray operator-() const; valarray operator~() const; valarray<bool> operator!() const; valarray& operator*= (const valarray& rhs); valarray& operator/= (const valarray& rhs); valarray& operator%= (const valarray& rhs); valarray& operator+= (const valarray& rhs); valarray& operator-= (const valarray& rhs); valarray& operator^= (const valarray& rhs); valarray& operator&= (const valarray& rhs); valarray& operator|= (const valarray& rhs); valarray& operator<<= (const valarray& rhs); valarray& operator>>= (const valarray& rhs); valarray& operator*= (const T& val); valarray& operator/= (const T& val); valarray& operator%= (const T& val); valarray& operator+= (const T& val); valarray& operator-= (const T& val); valarray& operator^= (const T& val); valarray& operator&= (const T& val); valarray& operator|= (const T& val); valarray& operator<<= (const T& val); valarray& operator>>= (const T& val); non-member functions template <class T> valarray<T> operator* (const valarray<T>& lhs, const valarray<T>& rhs); template <class T> valarray<T> operator* (const T& val, const valarray<T>& rhs); template <class T> valarray<T> operator* (const valarray<T>& lhs, const T& val); template <class T> valarray<T> operator/ (const valarray<T>& lhs, const valarray<T>& rhs); template <class T> valarray<T> operator/ (const T& val, const valarray<T>& rhs); template <class T> valarray<T> operator/ (const valarray<T>& lhs, const T& val); template <class T> valarray<T> operator% (const valarray<T>& lhs, const valarray<T>& rhs); template <class T> valarray<T> operator% (const T& val, const valarray<T>& rhs); template <class T> valarray<T> operator% (const valarray<T>& lhs, const T& val); template <class T> valarray<T> operator+ (const valarray<T>& lhs, const valarray<T>& rhs); template <class T> valarray<T> operator+ (const T& val, const valarray<T>& rhs); template <class T> valarray<T> operator+ (const valarray<T>& lhs, const T& val); template <class T> valarray<T> operator- (const valarray<T>& lhs, const valarray<T>& rhs); template <class T> valarray<T> operator- (const T& val, const valarray<T>& rhs); template <class T> valarray<T> operator- (const valarray<T>& lhs, const T& val); template <class T> valarray<T> operator^ (const valarray<T>& lhs, const valarray<T>& rhs); template <class T> valarray<T> operator^ (const T& val, const valarray<T>& rhs); template <class T> valarray<T> operator^ (const valarray<T>& lhs, const T& val); template <class T> valarray<T> operator& (const valarray<T>& lhs, const valarray<T>& rhs); template <class T> valarray<T> operator& (const T& val, const valarray<T>& rhs); template <class T> valarray<T> operator& (const valarray<T>& lhs, const T& val); template <class T> valarray<T> operator| (const valarray<T>& lhs, const valarray<T>& rhs); template <class T> valarray<T> operator| (const T& val, const valarray<T>& rhs); template <class T> valarray<T> operator| (const valarray<T>& lhs, const T& val); template <class T> valarray<T> operator<< (const valarray<T>& lhs, const valarray<T>& rhs); template <class T> valarray<T> operator<< (const T& val, const valarray<T>& rhs); template <class T> valarray<T> operator<< (const valarray<T>& lhs, const T& val); template <class T> valarray<T> operator>> (const valarray<T>& lhs, const valarray<T>& rhs); template <class T> valarray<T> operator>> (const T& val, const valarray<T>& rhs); template <class T> valarray<T> operator>> (const valarray<T>& lhs, const T& val); template <class T> valarray<bool> operator&& (const valarray<T>& lhs, const valarray<T>& rhs); template <class T> valarray<bool> operator&& (const T& val, const valarray<T>& rhs); template <class T> valarray<bool> operator&& (const valarray<T>& lhs, const T& val); template <class T> valarray<bool> operator|| (const valarray<T>& lhs, const valarray<T>& rhs); template <class T> valarray<bool> operator|| (const T& val, const valarray<T>& rhs); template <class T> valarray<bool> operator|| (const valarray<T>& lhs, const T& val); template <class T> valarray<bool> operator== (const valarray<T>& lhs, const valarray<T>& rhs); template <class T> valarray<bool> operator== (const T& val, const valarray<T>& rhs); template <class T> valarray<bool> operator== (const valarray<T>& lhs, const T& val); template <class T> valarray<bool> operator!= (const valarray<T>& lhs, const valarray<T>& rhs); template <class T> valarray<bool> operator!= (const T& val, const valarray<T>& rhs); template <class T> valarray<bool> operator!= (const valarray<T>& lhs, const T& val); template <class T> valarray<bool> operator< (const valarray<T>& lhs, const valarray<T>& rhs); template <class T> valarray<bool> operator< (const T& val, const valarray<T>& rhs); template <class T> valarray<bool> operator< (const valarray<T>& lhs, const T& val); template <class T> valarray<bool> operator> (const valarray<T>& lhs, const valarray<T>& rhs); template <class T> valarray<bool> operator> (const T& val, const valarray<T>& rhs); template <class T> valarray<bool> operator> (const valarray<T>& lhs, const T& val); template <class T> valarray<bool> operator<= (const valarray<T>& lhs, const valarray<T>& rhs); template <class T> valarray<bool> operator<= (const T& val, const valarray<T>& rhs); template <class T> valarray<bool> operator<= (const valarray<T>& lhs, const T& val); template <class T> valarray<bool> operator>= (const valarray<T>& lhs, const valarray<T>& rhs); template <class T> valarray<bool> operator>= (const T& val, const valarray<T>& rhs); template <class T> valarray<bool> operator>= (const valarray<T>& lhs, const T& val);
参数
val − 它是每个元素初始化的值。
lhs − 它是一个左侧的 valarray 对象。
rhs − 它是右侧的 valarray 对象。
异常
Basic guarantee − 如果对元素执行的任何操作引发异常。
数据竞争
所有有效复制的元素都被访问。
示例
在下面的示例中解释了 std::valarray::valarray 函数。
#include <iostream> #include <valarray> int main () { int init[]= {10,20,30,40}; std::valarray<int> foo (init, 4); std::valarray<int> bar (25,4); bar += foo; foo = bar + 10; foo -= 10; std::valarray<bool> comp = (foo==bar); if ( comp.min() == true ) std::cout << "foo and bar are equal.\n"; else std::cout << "foo and bar are not equal.\n"; return 0; }
让我们编译并运行上面的程序,这将产生以下结果 −
foo and bar are equal.