如何访问C数组中包含的valarray中的元素

How an access an element within a valarray contained in a c array

本文关键字:包含 valarray 元素 数组 何访问 访问      更新时间:2023-10-16

我有一个c数组,其中包含valarrays,如以下代码狙击中所示,

#include <iostream>
#include <valarray>
#include <math.h>
using namespace std;
typedef uint uint32_t;
typedef std::valarray<uint32_t> uivector;
int main()
{
    uivector a[] = { uivector(uint32_t(1),8), uivector(uint32_t(2),4), uivector(uint32_t(3),5) };
}

现在,如何访问第二个valarray的第三个元素(其中的值是2),而无需进行任何副本和单行语句?是否可以超载[]操作员实现相同的操作?类似a[1][2]

第二个Valarray的第三个元素确实是a[1][2]。订阅操作员已经被std::valarray超载。没有制作副本,表达式 a[1][2]的值是valarray中包含的实际对象。