C++ åèæå
- C++11
- C++14
- C++17
- C++20
- C++ ç¼è¯å¨æ¯ææ åµè¡¨
- ç¬ç«ä¸å®¿ä¸»å®ç°
- C++ è¯è¨
- C++ å ³é®è¯
- é¢å¤çå¨
- C++ æ ååºå¤´æä»¶
- æ ååºå¤´æä»¶ <ctime>
- æ ååºå¤´æä»¶ <cstring>
- æ ååºå¤´æä»¶ <set>
- æ ååºå¤´æä»¶ <cctype>
- æ ååºå¤´æä»¶ <cwctype>
- æ ååºå¤´æä»¶ <utility>
- æ ååºå¤´æä»¶ <queue>
- æ ååºå¤´æä»¶ <complex>
- æ ååºå¤´æä»¶ <iterator>
- æ ååºå¤´æä»¶ <algorithm>
- æ ååºå¤´æä»¶ <valarray>
- æ ååºå¤´æä»¶ <numeric>
- æ ååºå¤´æä»¶ <cmath>
- æ ååºå¤´æä»¶ <iosfwd>
- æ ååºå¤´æä»¶ <ios>
- æ ååºå¤´æä»¶ <iomanip>
- æ ååºå¤´æä»¶ <streambuf>
- æ ååºå¤´æä»¶ <istream>
- æ ååºå¤´æä»¶ <ostream>
- æ ååºå¤´æä»¶ <iostream>
- æ ååºå¤´æä»¶ <sstream>
- æ ååºå¤´æä»¶ <clocale>
- æ ååºå¤´æä»¶ <vector>
- æ ååºå¤´æä»¶ <deque>
- æ ååºå¤´æä»¶ <list>
- æ ååºå¤´æä»¶ <map>
- æ ååºå¤´æä»¶ <cwchar>
- æ ååºå¤´æä»¶ <locale>
- æ ååºå¤´æä»¶ <codecvt>
- æ ååºå¤´æä»¶ <bitset>
- æ ååºå¤´æä»¶ <functional>
- æ ååºå¤´æä»¶ <stdexcept>
- æ ååºå¤´æä»¶ <csignal>
- æ ååºå¤´æä»¶ <csetjmp>
- æ ååºå¤´æä»¶ <stack>
- æ ååºå¤´æä»¶ <cassert>
- æ ååºå¤´æä»¶ <cerrno>
- æ ååºå¤´æä»¶ <memory>
- æ ååºå¤´æä»¶ <typeindex>
- æ ååºå¤´æä»¶ <type_traits>
- æ ååºå¤´æä»¶ <chrono>
- æ ååºå¤´æä»¶ <initializer_list>
- æ ååºå¤´æä»¶ <tuple>
- æ ååºå¤´æä»¶ <scoped_allocator>
- æ ååºå¤´æä»¶ <cstdint>
- æ ååºå¤´æä»¶ <cinttypes>
- æ ååºå¤´æä»¶ <system_error>
- æ ååºå¤´æä»¶ <cuchar>
- æ ååºå¤´æä»¶ <array>
- æ ååºå¤´æä»¶ <forward_list>
- æ ååºå¤´æä»¶ <unordered_set>
- æ ååºå¤´æä»¶ <unordered_map>
- æ ååºå¤´æä»¶ <random>
- æ ååºå¤´æä»¶ <ratio>
- æ ååºå¤´æä»¶ <cfenv>
- æ ååºå¤´æä»¶ <regex>
- æ ååºå¤´æä»¶ <atomic>
- æ ååºå¤´æä»¶ <thread>
- æ ååºå¤´æä»¶ <mutex>
- æ ååºå¤´æä»¶ <future>
- æ ååºå¤´æä»¶ <condition_variable>
- æ ååºå¤´æä»¶ <any>
- æ ååºå¤´æä»¶ <optional>
- æ ååºå¤´æä»¶ <variant>
- æ ååºå¤´æä»¶ <memory_resource>
- æ ååºå¤´æä»¶ <string_view>
- æ ååºå¤´æä»¶ <charconv>
- æ ååºå¤´æä»¶ <execution>
- æ ååºå¤´æä»¶ <filesystem>
- æ ååºå¤´æä»¶ <concepts>
- æ ååºå¤´æä»¶ <coroutine>
- æ ååºå¤´æä»¶ <compare>
- æ ååºå¤´æä»¶ <version>
- æ ååºå¤´æä»¶ <source_location>
- æ ååºå¤´æä»¶ <format>
- æ ååºå¤´æä»¶ <span>
- æ ååºå¤´æä»¶ <ranges>
- æ ååºå¤´æä»¶ <bit>
- æ ååºå¤´æä»¶ <numbers>
- æ ååºå¤´æä»¶ <syncstream>
- æ ååºå¤´æä»¶ <stop_token>
- æ ååºå¤´æä»¶ <semaphore>
- æ ååºå¤´æä»¶ <latch>
- æ ååºå¤´æä»¶ <barrier>
- æ ååºå¤´æä»¶ <string>
- æ ååºå¤´æä»¶ <cstddef>
- æ ååºå¤´æä»¶ <limits>
- æ ååºå¤´æä»¶ <cfloat>
- æ ååºå¤´æä»¶ <climits>
- æ ååºå¤´æä»¶ <cstdlib>
- æ ååºå¤´æä»¶ <new>
- æ ååºå¤´æä»¶ <typeinfo>
- æ ååºå¤´æä»¶ <exception>
- æ ååºå¤´æä»¶ <cstdarg>
- æ ååºå¤´æä»¶ <ciso646>
- æ ååºå¤´æä»¶ <cstdalign>
- æ ååºå¤´æä»¶ <cstdbool>
- æ ååºå¤´æä»¶ <fstream>
- æ ååºå¤´æä»¶ <cstdio>
- æ ååºå¤´æä»¶ <strstream>
- æ ååºå¤´æä»¶ <shared_mutex>
- æ ååºå¤´æä»¶ <ccomplex>
- æ ååºå¤´æä»¶ <ctgmath>
- 注é
- å ·åè¦æ±
- åè½ç¹æ§æµè¯ (C++20)
- å·¥å ·åº
- ç±»åæ¯æï¼åºæ¬ç±»åãRTTIãç±»åç¹æ§ï¼
- æ¦å¿µåº (C++20)
- é误å¤ç
- 卿å å管ç
- æ¥æåæ¶é´å·¥å ·
- å符串åº
- 容å¨åº
- è¿ä»£å¨åº
- èå´åº (C++20)
- ç®æ³åº
- æ°å¼åº
- è¾å ¥/è¾åºåº
- æä»¶ç³»ç»åº
- æ¬å°ååº
- æ£å表达å¼åº
- ååæä½åº
- çº¿ç¨æ¯æåº
- å®éªæ§ C++ ç¹æ§
- æç¨çèµæº
- ç´¢å¼
- std 符å·ç´¢å¼
- åç¨æ¯æ (C++20)
- C++ å ³é®è¯
ä½ç½®ï¼é¦é¡µ > C++ åèæå >C++ æ ååºå¤´æä»¶ > æ ååºå¤´æä»¶ <valarray>
æ ååºå¤´æä»¶ <valarray>
æ¤å¤´æä»¶æ¯æ°å¼åºçä¸é¨åã
ç±»
| æ°å¼æ°ç»åæ°ç»åç (类模æ¿) | |
| valarray ç BLAS å¼åçï¼èµ·å§ä¸æ ãé¿åº¦ã跨度 (ç±») | |
| å° valarray åºç¨ slice åçåéç代ç (类模æ¿) | |
| valarray çéç¨åçï¼èµ·å§ä¸æ ãé¿åº¦éãæ¥å¹
é (ç±») | |
| valarray åºç¨ gslice åçåéç代ç (类模æ¿) | |
å°åºç¨å¸å°æ©ç operator[] åç valarray åéç代ç (类模æ¿) | |
å°åºç¨é´æ¥ operator[] åç valarray åéç代çã (类模æ¿) |
彿°
æä½ | |
| (C++11) |
ç¹å std::swap() ç®æ³ (彿°æ¨¡æ¿) |
| (C++11) |
ç¹åç std::begin (彿°æ¨¡æ¿) |
| (C++11) |
ç¹åç std::end (彿°æ¨¡æ¿) |
| 对两个 valarray çæ¯ä¸ªå
ç´ ï¼æä¸ä¸ª valarray çæ¯ä¸ªå
ç´ åä¸ä¸ªå¼è¿ç¨äºå
è¿ç®ç¬¦ (彿°æ¨¡æ¿) | |
| æ¯è¾ä¸¤ä¸ª valarraysï¼ææ¯è¾ä¸ä¸ª valarray åä¸ä¸ªå¼ (彿°æ¨¡æ¿) | |
| åºç¨å½æ° std::abs å° valarray çæ¯ä¸ªå
ç´ (彿°æ¨¡æ¿) | |
ææ°å½æ° | |
| åºç¨å½æ° std::exp å° valarray çæ¯ä¸ªå
ç´ (彿°æ¨¡æ¿) | |
| åºç¨å½æ° std::log å° valarray çæ¯ä¸ªå
ç´ (彿°æ¨¡æ¿) | |
| åºç¨å½æ° std::log10 å° valarray çæ¯ä¸ªå
ç´ (彿°æ¨¡æ¿) | |
å¹å½æ° | |
| åºç¨å½æ° std::pow å°äºä¸ª valarray æä¸ä¸ª valarray ä¸ä¸ä¸ªå¼ (彿°æ¨¡æ¿) | |
| åºç¨å½æ° std::sqrt å° valarray çæ¯ä¸ªå
ç´ (彿°æ¨¡æ¿) | |
ä¸è§å½æ° | |
| åºç¨å½æ° std::sin å° valarray çæ¯ä¸ªå
ç´ (彿°æ¨¡æ¿) | |
| åºç¨å½æ° std::cos å° valarray çæ¯ä¸ªå
ç´ (彿°æ¨¡æ¿) | |
| åºç¨å½æ° std::tan å° valarray çæ¯ä¸ªå
ç´ (彿°æ¨¡æ¿) | |
| åºç¨å½æ° std::asin å° valarray çæ¯ä¸ªå
ç´ (彿°æ¨¡æ¿) | |
| åºç¨å½æ° std::acos å° valarray çæ¯ä¸ªå
ç´ (彿°æ¨¡æ¿) | |
| åºç¨å½æ° std::atan å° valarray çæ¯ä¸ªå
ç´ (彿°æ¨¡æ¿) | |
| åºç¨å½æ° std::atan2 å°ä¸ä¸ª valarray åä¸ä¸ªå¼ (彿°æ¨¡æ¿) | |
忲彿° | |
| å¨ valarray çæ¯ä¸ªå
ç´ ä¸è°ç¨ std::sinh 彿° (彿°æ¨¡æ¿) | |
| å¨ valarray çæ¯ä¸ªå
ç´ ä¸è°ç¨ std::cosh 彿° (彿°æ¨¡æ¿) | |
| å¨ valarray çæ¯ä¸ªå
ç´ ä¸è°ç¨ std::tanh 彿° (彿°æ¨¡æ¿) | |
æ¦è¦
#include <initializer_list>  namespace std { template<class T> class valarray; // T ç±»åæ°ç» class slice; // æ°ç»ç BLAS å¼åç template<class T> class slice_array; class gslice; // æ°ç»çéç¨åç template<class T> class gslice_array; template<class T> class mask_array; // æ©ç çæ°ç» template<class T> class indirect_array; // é´æ¥çæ°ç»  template<class T> void swap(valarray<T>&, valarray<T>&) noexcept;  template<class T> valarray<T> operator* (const valarray<T>&, const valarray<T>&); template<class T> valarray<T> operator* (const valarray<T>&, const T&); template<class T> valarray<T> operator* (const T&, const valarray<T>&);  template<class T> valarray<T> operator/ (const valarray<T>&, const valarray<T>&); template<class T> valarray<T> operator/ (const valarray<T>&, const T&); template<class T> valarray<T> operator/ (const T&, const valarray<T>&);  template<class T> valarray<T> operator% (const valarray<T>&, const valarray<T>&); template<class T> valarray<T> operator% (const valarray<T>&, const T&); template<class T> valarray<T> operator% (const T&, const valarray<T>&);  template<class T> valarray<T> operator+ (const valarray<T>&, const valarray<T>&); template<class T> valarray<T> operator+ (const valarray<T>&, const T&); template<class T> valarray<T> operator+ (const T&, const valarray<T>&);  template<class T> valarray<T> operator- (const valarray<T>&, const valarray<T>&); template<class T> valarray<T> operator- (const valarray<T>&, const T&); template<class T> valarray<T> operator- (const T&, const valarray<T>&);  template<class T> valarray<T> operator^ (const valarray<T>&, const valarray<T>&); template<class T> valarray<T> operator^ (const valarray<T>&, const T&); template<class T> valarray<T> operator^ (const T&, const valarray<T>&);  template<class T> valarray<T> operator& (const valarray<T>&, const valarray<T>&); template<class T> valarray<T> operator& (const valarray<T>&, const T&); template<class T> valarray<T> operator& (const T&, const valarray<T>&);  template<class T> valarray<T> operator| (const valarray<T>&, const valarray<T>&); template<class T> valarray<T> operator| (const valarray<T>&, const T&); template<class T> valarray<T> operator| (const T&, const valarray<T>&);  template<class T> valarray<T> operator<<(const valarray<T>&, const valarray<T>&); template<class T> valarray<T> operator<<(const valarray<T>&, const T&); template<class T> valarray<T> operator<<(const T&, const valarray<T>&);  template<class T> valarray<T> operator>>(const valarray<T>&, const valarray<T>&); template<class T> valarray<T> operator>>(const valarray<T>&, const T&); template<class T> valarray<T> operator>>(const T&, const valarray<T>&);  template<class T> valarray<bool> operator&&(const valarray<T>&, const valarray<T>&); template<class T> valarray<bool> operator&&(const valarray<T>&, const T&); template<class T> valarray<bool> operator&&(const T&, const valarray<T>&);  template<class T> valarray<bool> operator||(const valarray<T>&, const valarray<T>&); template<class T> valarray<bool> operator||(const valarray<T>&, const T&); template<class T> valarray<bool> operator||(const T&, const valarray<T>&);  template<class T> valarray<bool> operator==(const valarray<T>&, const valarray<T>&); template<class T> valarray<bool> operator==(const valarray<T>&, const T&); template<class T> valarray<bool> operator==(const T&, const valarray<T>&);  template<class T> valarray<bool> operator!=(const valarray<T>&, const valarray<T>&); template<class T> valarray<bool> operator!=(const valarray<T>&, const T&); template<class T> valarray<bool> operator!=(const T&, const valarray<T>&);  template<class T> valarray<bool> operator< (const valarray<T>&, const valarray<T>&); template<class T> valarray<bool> operator< (const valarray<T>&, const T&); template<class T> valarray<bool> operator< (const T&, const valarray<T>&);  template<class T> valarray<bool> operator> (const valarray<T>&, const valarray<T>&); template<class T> valarray<bool> operator> (const valarray<T>&, const T&); template<class T> valarray<bool> operator> (const T&, const valarray<T>&);  template<class T> valarray<bool> operator<=(const valarray<T>&, const valarray<T>&); template<class T> valarray<bool> operator<=(const valarray<T>&, const T&); template<class T> valarray<bool> operator<=(const T&, const valarray<T>&);  template<class T> valarray<bool> operator>=(const valarray<T>&, const valarray<T>&); template<class T> valarray<bool> operator>=(const valarray<T>&, const T&); template<class T> valarray<bool> operator>=(const T&, const valarray<T>&);  template<class T> valarray<T> abs (const valarray<T>&); template<class T> valarray<T> acos(const valarray<T>&); template<class T> valarray<T> asin(const valarray<T>&); template<class T> valarray<T> atan(const valarray<T>&);  template<class T> valarray<T> atan2(const valarray<T>&, const valarray<T>&); template<class T> valarray<T> atan2(const valarray<T>&, const T&); template<class T> valarray<T> atan2(const T&, const valarray<T>&);  template<class T> valarray<T> cos (const valarray<T>&); template<class T> valarray<T> cosh (const valarray<T>&); template<class T> valarray<T> exp (const valarray<T>&); template<class T> valarray<T> log (const valarray<T>&); template<class T> valarray<T> log10(const valarray<T>&);  template<class T> valarray<T> pow(const valarray<T>&, const valarray<T>&); template<class T> valarray<T> pow(const valarray<T>&, const T&); template<class T> valarray<T> pow(const T&, const valarray<T>&);  template<class T> valarray<T> sin (const valarray<T>&); template<class T> valarray<T> sinh(const valarray<T>&); template<class T> valarray<T> sqrt(const valarray<T>&); template<class T> valarray<T> tan (const valarray<T>&); template<class T> valarray<T> tanh(const valarray<T>&);  template<class T> /*unspecified1*/ begin(valarray<T>& v); template<class T> /*unspecified2*/ begin(const valarray<T>& v); template<class T> /*unspecified1*/ end(valarray<T>& v); template<class T> /*unspecified2*/ end(const valarray<T>& v);   }
std::valarray
namespace std { template<class T> class valarray { public: typedef T value_type;  // 26.6.2.2 æé /éæ¯ï¼ valarray(); explicit valarray(size_t); valarray(const T&, size_t); valarray(const T*, size_t); valarray(const valarray&); valarray(valarray&&) noexcept; valarray(const slice_array<T>&); valarray(const gslice_array<T>&); valarray(const mask_array<T>&); valarray(const indirect_array<T>&); valarray(initializer_list<T>);  ~valarray();  // 26.6.2.3 èµå¼ï¼ valarray<T>& operator=(const valarray<T>&); valarray<T>& operator=(valarray<T>&&) noexcept; valarray& operator=(initializer_list<T>); valarray<T>& operator=(const T&); valarray<T>& operator=(const slice_array<T>&); valarray<T>& operator=(const gslice_array<T>&); valarray<T>& operator=(const mask_array<T>&); valarray<T>& operator=(const indirect_array<T>&);  // 26.6.2.4 å ç´ è®¿é®ï¼ const T& operator[](size_t) const; T& operator[](size_t);  // 26.6.2.5 åéæä½ï¼ valarray<T> operator[](slice) const; slice_array<T> operator[](slice); valarray<T> operator[](const gslice&) const; gslice_array<T> operator[](const gslice&); valarray<T> operator[](const valarray<bool>&) const; mask_array<T> operator[](const valarray<bool>&); valarray<T> operator[](const valarray<size_t>&) const; indirect_array<T> operator[](const valarray<size_t>&);  // 26.6.2.6 ä¸å è¿ç®ç¬¦ï¼ valarray<T> operator+() const; valarray<T> operator-() const; valarray<T> operator~() const; valarray<bool> operator!() const;  // 26.6.2.7 计ç®èµå¼ï¼ valarray<T>& operator*= (const T&); valarray<T>& operator/= (const T&); valarray<T>& operator%= (const T&); valarray<T>& operator+= (const T&); valarray<T>& operator-= (const T&); valarray<T>& operator^= (const T&); valarray<T>& operator&= (const T&); valarray<T>& operator|= (const T&); valarray<T>& operator<<=(const T&); valarray<T>& operator>>=(const T&);  valarray<T>& operator*= (const valarray<T>&); valarray<T>& operator/= (const valarray<T>&); valarray<T>& operator%= (const valarray<T>&); valarray<T>& operator+= (const valarray<T>&); valarray<T>& operator-= (const valarray<T>&); valarray<T>& operator^= (const valarray<T>&); valarray<T>& operator|= (const valarray<T>&); valarray<T>& operator&= (const valarray<T>&); valarray<T>& operator<<=(const valarray<T>&); valarray<T>& operator>>=(const valarray<T>&);  // 26.6.2.8 æå彿°ï¼ void swap(valarray&) noexcept;  size_t size() const;  T sum() const; T min() const; T max() const;  valarray<T> shift (int) const; valarray<T> cshift(int) const; valarray<T> apply(T func(T)) const; valarray<T> apply(T func(const T&)) const; void resize(size_t sz, T c = T()); }; }
std::slice
namespace std { class slice { public: slice(); slice(size_t, size_t, size_t); Â size_t start() const; size_t size() const; size_t stride() const; }; }
std::slice_array
namespace std { template <class T> class slice_array { public: typedef T value_type;  void operator= (const valarray<T>&) const; void operator*= (const valarray<T>&) const; void operator/= (const valarray<T>&) const; void operator%= (const valarray<T>&) const; void operator+= (const valarray<T>&) const; void operator-= (const valarray<T>&) const; void operator^= (const valarray<T>&) const; void operator&= (const valarray<T>&) const; void operator|= (const valarray<T>&) const; void operator<<=(const valarray<T>&) const; void operator>>=(const valarray<T>&) const;  slice_array(const slice_array&); ~slice_array();  const slice_array& operator=(const slice_array&) const; void operator=(const T&) const;  slice_array() = delete; // ä¸é¢å£°æçå¤å¶æé 彿°æéå« }; }
std::gslice
namespace std { class gslice { public: gslice(); gslice(size_t s, const valarray<size_t>& l, const valarray<size_t>& d); Â size_t start() const; valarray<size_t> size() const; valarray<size_t> stride() const; }; }
std::gslice_array
namespace std { template <class T> class gslice_array { public: typedef T value_type; void operator= (const valarray<T>&) const; void operator*= (const valarray<T>&) const; void operator/= (const valarray<T>&) const; void operator%= (const valarray<T>&) const; void operator+= (const valarray<T>&) const; void operator-= (const valarray<T>&) const; void operator^= (const valarray<T>&) const; void operator&= (const valarray<T>&) const; void operator|= (const valarray<T>&) const; void operator<<=(const valarray<T>&) const; void operator>>=(const valarray<T>&) const;  gslice_array(const gslice_array&); ~gslice_array(); const gslice_array& operator=(const gslice_array&) const; void operator=(const T&) const;  gslice_array() = delete; // ä¸é¢å£°æçå¤å¶æé 彿°æéå« }; }
std::mask_array
namespace std { template <class T> class mask_array { public: typedef T value_type;  void operator= (const valarray<T>&) const; void operator*= (const valarray<T>&) const; void operator/= (const valarray<T>&) const; void operator%= (const valarray<T>&) const; void operator+= (const valarray<T>&) const; void operator-= (const valarray<T>&) const; void operator^= (const valarray<T>&) const; void operator&= (const valarray<T>&) const; void operator|= (const valarray<T>&) const; void operator<<=(const valarray<T>&) const; void operator>>=(const valarray<T>&) const;  mask_array(const mask_array&); ~mask_array(); const mask_array& operator=(const mask_array&) const; void operator=(const T&) const;  mask_array() = delete; // ä¸é¢å£°æçå¤å¶æé 彿°æéå« }; }
std::indirect_array
namespace std { template <class T> class indirect_array { public: typedef T value_type;  void operator= (const valarray<T>&) const; void operator*= (const valarray<T>&) const; void operator/= (const valarray<T>&) const; void operator%= (const valarray<T>&) const; void operator+= (const valarray<T>&) const; void operator-= (const valarray<T>&) const; void operator^= (const valarray<T>&) const; void operator&= (const valarray<T>&) const; void operator|= (const valarray<T>&) const; void operator<<=(const valarray<T>&) const; void operator>>=(const valarray<T>&) const;  indirect_array(const indirect_array&); ~indirect_array(); const indirect_array& operator=(const indirect_array&) const; void operator=(const T&) const;  indirect_array() = delete; // ä¸é¢å£°æçå¤å¶æé 彿°æéå« }; }