C++ slice 类

  • 定义和用法

    class slice;
    std::slice 表示一个valarray切片选择器。它不包含也没有引用任何元素-它仅描述要在valarray::operator []中用作索引的元素的选择。valarray切片由起始索引,大小和跨度定义。起始索引(开始)是所选内容中第一个元素的索引。 大小(size)是所选内容中的元素数。 跨度(stride)是将所选元素分开的跨度。因此,跨度大于1的切片不会在valarray中选择连续元素; 例如,slice(3,4,5)选择元素3、8、13和18。
  • 成员函数

    成员函数 描述
    (constructor) 切片构造函数(公共成员函数)
    slice::start 返回切片的开始(公共成员函数)
    slice::size 切片的返回大小(公共成员函数)
    slice::stride 返回切片的步幅(公共成员函数)
  • 示例

    
    // slice example
    #include <iostream>     // std::cout
    #include <cstddef>      // std::size_t
    #include <valarray>     // std::valarray, std::slice
    
    int main ()
    {
      std::valarray<int> foo (12);
      for (int i=0; i<12; ++i) foo[i]=i;
    
      std::valarray<int> bar = foo[std::slice(2,3,4)];
    
      std::cout << "slice(2,3,4):";
      for (std::size_t n=0; n<bar.size(); n++)
              std::cout << ' ' << bar[n];
      std::cout << '\n';
    
      return 0;
    }
    
    尝试一下
    输出
    
    slice(2,3,4): 2 6 10
    
  • 相关页面

    gslice Valarray广义切片选择器(类)
    slice_array Valarray切片选择(类模板)