在第一个可用索引处设置对象到C数组
Set object into C array at first available index
我有一个box2d body数组,初始化如下:
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;
}
介绍count
。或者,首先用0填充touchedBodies
,然后让firstOpenSpot()
搜索第一个0。确保添加逻辑以防止运行超出大小(例如使用sizeof
或单独的逻辑/变量)。
相关文章:
- 将对象数组的引用传递给函数
- 如何使用Visual Studio 2017在C++中为参数化对象数组使用唯一指针
- 在c++中尝试对对象数组进行排序时,出现std:bad_alloc错误
- 类对象数组的问题会导致崩溃
- Arduino C++在构造函数中用参数声明对象数组
- 使用对象数组对 SFML 进行动画处理
- C++ 对象数组堆栈溢出
- 如何将对象数组作为参数传递给模板
- 使用向量初始化参数化构造函数的对象数组
- 如何初始化对象数组?
- C++创建对象数组
- 在对象数组中搜索字符串并返回相应值的函数
- 有没有办法使用该类的构造函数初始化另一个类的私有部分内的对象数组?
- 如何在运行时在对象数组中动态追加新对象C++并打印它们
- 为什么我在声明对象数组时不能使用 -> 运算符?
- 编译时生成应在构造函数中创建的非 constexpr 对象数组
- 使用 C++ 创建对象数组
- 对象数组打印空白字符串
- 重载运算符 [] 用于从对象数组中给出特定索引
- 如何在 C++ 中使用提升属性树从 JSON 文件中读取对象数组