std::slice
提供: cppreference.com
![]() | このページは、Google 翻訳を使って英語版から機械翻訳されました。 翻訳には誤りや奇妙な言い回しがあるかもしれません。文章の上にポインタをおくと、元の文章が見れます。誤りを修正して翻訳を改善する手助けをしてください。翻訳についての説明は、ここをクリックしてください。 |
ヘッダ <valarray> で定義 | ||
class slice; | ||
std::slice
std::valarrayスライスに似BLASのサブセットを識別するセレクタクラスです。開始インデックス、ストライド、およびサブセットの値の総数:タイプstd::slice
のオブジェクトは、次の3つの値を保持します。タイプ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.
Run this code
#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';}
出力:
Trace of the matrix (1,2,3) (4,5,6) (7,8,9) is 15
[編集]参照
valarray の要素、スライス、マスクを取得または設定します (パブリックメンバ関数) | |
一般化された valarray のスライス: 開始位置、長さのセット、ストライドのセット (クラス) | |
slice 適用後の valarray のサブセットへのプロキシ (クラステンプレート) |