gpt4 book ai didi

c++ - 如何比较 C++ slice_array?为什么它不能与 valarray 相提并论?

转载 作者:搜寻专家 更新时间:2023-10-31 02:20:00 26 4
gpt4 key购买 nike

我想知道为什么我不能比较some_valarray[first_slice] < another_valarray[second_slice]正如我比较some_valarray < another_valarray以及如何在不复制的情况下以简单的方式做到这一点?当然,我可以在普通循环中迭代它们,但也许有更优雅且可能可优化的方式?

最佳答案

比较slice_array你目前必须使用 valarray( const std::slice_array& ) .

#include <valarray>

int main() {
//Initialize valarray
std::valarray<int> val0{0,1,2,3,4,5,6,7,8,9};
std::valarray<int> val1{9,8,7,6,5,4,3,2,1,0};

//Compare valarray
std::valarray<bool> cmp0 = val0 < val1;

//Compare slice_array
std::valarray<bool> cmp1 =
std::valarray<int>(val0[std::slice(0,5,2)]) < std::valarray<int>(val1[std::slice(1,5,2)]);

//Compare slice_array since c++17
std::valarray<bool> cmp2 =
std::valarray(val0[std::slice(0,5,2)]) < std::valarray(val1[std::slice(1,5,2)]);

return 0;
}

关于c++ - 如何比较 C++ slice_array?为什么它不能与 valarray 相提并论?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33195799/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com