c++ - 在第一个可用索引处将对象设置为 C 数组

标签 c++ objective-c c arrays

我有一个 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/

相关文章:

objective-c - 从 Objective-C 中的对象获取 Ivar 值

ios - Objective C 到 Swift 的互操作性问题

c# - ATL 进程外回调接口(interface)上的“接口(interface)未注册”错误

C++将常量添加到 vector 切片

c++ - 取消引用时如何将空指针转换为指针?

ios - iOS-CGAffineTransformScale不会还原吗?

c - 使用 fread 的代码中是否存在错误

c - 为什么在表示有符号数时 Two's complement 比 Ones' complement 更广泛地使用

c - 一个 C cgi 脚本,用于从 sqlite3_column_blob 指针提供二进制文件

c++ - C++0x中的统一初始化,什么时候用()代替{}?