我希望能够在尝试访问“超出范围”时修改向量和矩阵的行为。例如,这个周期性视图:
Eigen::PeriodicVectorXd x(3);
x.setZeros(); // x = [0,0,0]
x(0)=1; // x=[1,0,0]
x(-1)=-1 // x=[1,0,-1]
x(4)=4 // x=[1,4,-1]
// Also with block operations:
x.segment(2,2)*=2 // x=[2,4,-2]
我知道这可以用表达式完成,但我不太了解内部结构。有没有其他方法可以实现这个/现有的解决方案?