std::slice
来自cppreference.com
|
|
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
| Defined in header <valarray>
|
||
| class slice; |
||
std::slice是選擇器類,用於標識一個子集,std::valarrayBLAS片。類型std::slice一個目的持有三個值:起始索引,步幅,和中的值的子集的總數。類型std::slice的對象可以被用作索引用的valarray的operator[].Original:
std::slice is the selector class that identifies a subset of std::valarray similar to BLAS slice. An object of type std::slice holds three values: the starting index, the stride, and the total number of values in the subset. Objects of type std::slice can be used as indexes with valarray's operator[].The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[编辑] 成員函數
| 構建一個切片 Original: constructs a slice The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (公共成員函數) | |
| 訪問開始的切片 Original: accesses the start of the slice The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (公共成員函數) | |
| 訪問的大小的切片 Original: accesses the size of the slice The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (公共成員函數) | |
| 訪問步幅的切片 Original: accesses the stride of the slice The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (公共成員函數) | |
[编辑] 為例
准系統的valarray追查計算功能的支持Matrix類.
Original:
Barebones valarray-backed Matrix class with a 追查 calculating function.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
#include <iostream> #include <valarray> class Matrix { std::valarray<int> data; int dim; public: Matrix(int r, int c) : data(r*c), dim(c) {} int& operator()(int r, int c) {return data[r*dim + c];} int trace() const { return data[std::slice(0, dim, dim+1)].sum(); } }; int main() { Matrix m(3,3); int n = 0; for(int r=0; r<3; ++r) for(int c=0; c<3; ++c) m(r, c) = ++n; std::cout << "Trace of the matrix (1,2,3) (4,5,6) (7,8,9) is " << m.trace() << '\n'; }
Output:
Trace of the matrix (1,2,3) (4,5,6) (7,8,9) is 15
[编辑] 另請參閱
| 獲取/設置valarray的元素,切片,或面罩 Original: get/set valarray element, slice, or mask The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (公共成員函數) | |
| 廣義片的valarray的起始索引,設置的長度,設置的步伐 Original: generalized slice of a valarray: starting index, set of lengths, set of strides The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (類) | |
| 代理的valarray的應用切片後的一個子集 Original: proxy to a subset of a valarray after applying a slice The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (類模板) | |