C++ 如何创建圆形数组?

C++ 如何创建圆形数组?,c++,C++,我正在尝试创建对数组的循环引用。比如说, float arr1[10]={0,1,2,3,4,5,6,7,8,9} 然后我在循环中使用一个变量来访问数组的元素 for (int i=0;i<10;i++){ std::cout<<arr1[i]<<std::endl; //other processing using arr1[i] indexing } 对于(int i=0;i您需要使用模运算符%。 14%10=4所以只需使用您用来访问它的索引就

我正在尝试创建对数组的循环引用。比如说,

float arr1[10]={0,1,2,3,4,5,6,7,8,9}

然后我在循环中使用一个变量来访问数组的元素

for (int i=0;i<10;i++){
    std::cout<<arr1[i]<<std::endl;
    //other processing using arr1[i] indexing
}

对于(int i=0;i您需要使用模运算符
%

14%10=4
所以只需使用您用来访问它的索引就可以了。

可能正在寻找…

for (int i=0;i<10;i++){
    std::cout<<arr1[i%10]<<std::endl;
    //other processing using arr1[i] indexing
}

对于(int i=0;i你应该像@Jdman1699一样使用模运算符。这里你可以找到一个例子:

int position; //the position you want to get
float out = arr1[position%10];
对于您的特定程序,我只建议将基本For循环放在另一个For循环中(考虑到您的源代码,您似乎希望多次打印出数组的所有元素).这是因为访问元素n与访问元素n+10没有什么不同。但是,如果您计划创建某种函数来访问数组的任何元素,我将使用模运算符base 10。也许

unsigned long int newidx = iptidx%10;

然后使用newidx。

模运算符根据您的条件
i,我将提供一个迭代器,其增量为
++(end-1)==使用开始
。否则,请阅读并理解其工作原理。或者,创建一个链接列表,其中最后一个元素的下一个指针指向第一个元素。请使用完整的单词和句子;您现在不在Instagram上。