我有一个 box2d 体数组,初始化如下:
b2Body *touchedBodies[10];
我需要用几个 b2Body 填充它,我想将下一个 b2Body 设置到第一个可用的位置——我还没有放置 b2Body 的地方。所以我正在寻找这样的东西:
touchedBodies[touchedBodies->firstOpenSpot()] = someB2Body;
这可能吗?
最佳答案
您可以使用像 Vector 这样的动态容器。
您可以存储最后插入的元素的索引。
// sample without failsave
int openSpot = 0;
touchedBodies[openSpot] = someB2Body;
openSpot++;
您可以使用 nullpointer 初始化此数组,然后遍历。
// sample without failsave
for (int i=0; i < 10; i++) {
if (touchedBodies[i] != 0) continue;
touchedBodies[i] = someB2Body;
break;
}
关于c++ - 在第一个可用索引处将对象设置为 C 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16718094/