std::slice
Aus cppreference.com
definiert in Header <valarray>
|
||
class slice; |
||
std::slice
ist der Selektor Klasse, die eine Teilmenge von std::valarray ähnlich BLAS Scheibe identifiziert. Ein Objekt des Typs std::slice
hält drei Werte: die Startindex, die Schrittlänge und die Gesamtzahl der Werte in der Teilmenge. Objekte vom Typ std::slice
können als Indizes mit valarray die operator[]
verwendet werden .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.
Member-Funktionen
baut eine Scheibe 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. (öffentliche Elementfunktion) | |
greift auf den Start der Scheibe 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. (öffentliche Elementfunktion) | |
greift auf die Größe der Scheibe 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. (öffentliche Elementfunktion) | |
greift die Schrittlänge der Scheibe 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. (öffentliche Elementfunktion) |
Beispiel
Barebones valarray-backed Matrix-Klasse mit einem verfolgen Rechenfunktion .
Original:
Barebones valarray-backed Matrix class with a verfolgen 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