命名空间
变体
操作

std::valarray<T>::cshift

来自 cppreference.com
< cpp‎ | numeric‎ | valarray
 
 
 
 
valarray<T> cshift( int count ) const;

返回一个相同大小的新 valarray,其元素位置按 count 个元素循环移位。

如果 count 为非负值,则元素按 count 个位置循环左移;如果 count 为负值,则元素按 -count 个位置循环右移。

内容

[编辑] 参数

count - 元素循环移位的位数

[编辑] 返回值

具有循环移位元素的结果 valarray。

[编辑] 注释

该函数可以使用与 std::valarray 不同的返回值类型实现。在这种情况下,替换类型具有以下属性

[编辑] 示例

#include <iostream>
#include <valarray>
 
int main()
{
    std::valarray<int> v{1, 2, 3, 4, 5, 6, 7, 8};
 
    for (auto const& val : v)
        std::cout << val << ' ';
    std::cout << '\n';
 
    std::valarray<int> v2 = v.cshift(2);
 
    for (auto const& val : v2)
        std::cout << val << ' ';
    std::cout << '\n';
}

输出

1 2 3 4 5 6 7 8 
3 4 5 6 7 8 1 2

[编辑] 缺陷报告

以下行为更改缺陷报告被追溯应用于先前发布的 C++ 标准。

DR 应用于 已发布的行为 正确行为
LWG 618 C++98 移位元素的表达式
如果 size()0,则包含零除法
描述了新位置
无需使用表达式

[编辑] 参见

用零填充移位 valarray 的元素
(公共成员函数) [编辑]