- C 标准库
- C 标准库
- C++ 标准库
- C++ 库 - 主页
- C++ 库 - <fstream>
- C++ 库 - <iomanip>
- C++ 库 - <ios>
- C++ 库 - <iosfwd>
- C++ 库 - <iostream>
- C++ 库 - <istream>
- C++ 库 - <ostream>
- C++ 库 - <sstream>
- C++ 库 - <streambuf>
- C++ 库 - <原子>
- C++ 库 - <复杂>
- C++ 库 - <异常>
- C++ 库 - <功能>
- C++ 库 - <限制>
- C++ 库 - <语言环境>
- C++ 库 - <内存>
- C++ 库 - <新>
- C++ 库 - <数字>
- C++ 库 - <正则表达式>
- C++ 库 - <stdexcept>
- C++ 库 - <字符串>
- C++ 库 - <线程>
- C++ 库 - <元组>
- C++ 库 - <类型信息>
- C++ 库 - <实用程序>
- C++ 库 - <valarray>
C++ Valarray 库 - gslice 函数
描述
valarray 广义切片由起始索引、一组大小和一组步幅指定,此类表示 valarray 广义切片选择器(多维切片)。它不包含也不引用任何元素 - 它仅描述要用作 valarray::operator[] 中索引的元素选择。
宣言
以下是 std::gslice 函数的声明。
class gslice;
C++11
class gslice;
参数
没有任何
返回值
没有任何
例外情况
基本保证- 如果对元素执行的任何操作都会引发异常。
数据竞赛
访问所有有效复制的元素。
例子
在下面的示例中解释了 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
valarray.htm