Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::valarray<T>::operator+,-,~,!

      From cppreference.com
      <cpp‎ |numeric‎ |valarray
       
       
       
      std::valarray
      Member functions
      Non-member functions
      Helper classes
      Deduction guides(C++17)
       
      valarray<T> operator+()const;
      (1)
      valarray<T> operator-()const;
      (2)
      valarray<T> operator~()const;
      (3)
      valarray<bool> operator!()const;
      (4)

      Applies unary operators to each element in the numeric array.

      Contents

      [edit]Parameters

      (none)

      [edit]Return value

      A numeric array containing elements with values obtained by applying corresponding operator to the values in*this.

      [edit]Exceptions

      May throw implementation-defined exceptions.

      [edit]Notes

      Each of the operators can only be instantiated if the following requirements are met:

      • The indicated operator can be applied to typeT.
      • The result value can be unambiguously converted toT (1-3) orbool (4).

      The function can be implemented with the return type different fromstd::valarray. In this case, the replacement type has the following properties:

      [edit]Example

      Run this code
      #include <iostream>#include <string_view>#include <valarray> template<typename T>void print(std::string_viewconst note,std::valarray<T>const vala,// by-value, see Notes abovestd::string_viewconst term="\n"){std::cout<< note<<std::boolalpha<<std::showpos;for(Tconst element: vala)std::cout<<'\t'<< element;std::cout<< term;} int main(){std::valarray<int> x{1,2,3,4};    print<int>("x: ", x);    print<int>("+x: ",+x);    print<int>("+ + x: ",++ x);    print<int>("-x: ",-x);    print<int>("- - x: ",-- x,"\n\n"); std::valarray<short> y{0,1,-1,0x7fff};    print<short>("y: ", y);    print<short>("~y: ", ~y);    print<short>("~~y: ", ~~y,"\n\n"); std::valarray<bool> z{true,false};    print<bool>("z: ", z);    print<bool>("!z: ",!z);    print<bool>("!!z: ",!!z);}

      Possible output:

      x:      +1      +2      +3      +4+x:     +1      +2      +3      +4+ + x:  +1      +2      +3      +4-x:     -1      -2      -3      -4- - x:  +1      +2      +3      +4 y:      +0      +1      -1      +32767~y:     -1      -2      +0      -32768~~y:    +0      +1      -1      +32767 z:      true    false!z:     false   true!!z:    true    false

      [edit]See also

      applies compound assignment operator to each element of the valarray
      (public member function)[edit]
      applies binary operators to each element of two valarrays, or a valarray and a value
      (function template)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/numeric/valarray/operator_arith&oldid=160812"

      [8]ページ先頭

      ©2009-2025 Movatter.jp