當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


C++ valarray gslice用法及代碼示例


描述

valarray 廣義切片由起始索引、一組大小和一組步幅指定,此類表示 valarray 廣義切片選擇器(多維切片)。它不包含也不引用任何元素——它隻描述了要用作 valarray::operator[] 中索引的元素的選擇。

聲明

以下是 std::gslice 函數的聲明。

class gslice;

C++11

class gslice;

參數

返回值

異常

Basic guarantee- 如果對元素執行的任何操作拋出異常。

數據競爭

訪問所有有效複製的元素。

示例

在下麵的示例中解釋了 std::gslice 函數。

#include <iostream>
#include <cstddef>
#include <valarray>

int main () {
   std::valarray<int> foo (12);
   for (int i=0; i<12; ++i) foo[i]=i;

   std::size_t start=1;
   std::size_t lengths[]= {2,3};
   std::size_t strides[]= {7,2};

   std::gslice mygslice (start,
      std::valarray<std::size_t>(lengths,2),
      std::valarray<std::size_t>(strides,2));

   std::valarray<int> bar = foo[mygslice];

   std::cout << "gslice:";
   for (std::size_t n=0; n<bar.size(); n++)
      std::cout << ' ' << bar[n];
   std::cout << '\n';

   return 0;
}

讓我們編譯並運行上麵的程序,這將產生以下結果——

gslice:1 3 5 8 10 0

相關用法


注:本文由純淨天空篩選整理自 C++ Valarray Library - gslice Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。