c++ - DirectX 中的 vector 处理项目符号

标签 c++ stl vector directx

我有一个 vector 来保存项目符号类的对象。这是向 vector 结构添加项目符号的正确方法吗?

std::vector<Bullet> bullets;

Bullet newbullet(thisPlayer.x+PLAYERSPRITEWIDTH,(thisPlayer.y-(PLAYERSPRITEHEIGHT/2)));
bullets.push_back(newbullet);

我认为项目符号不会以这种方式添加。

最佳答案

这是将“Bullet”添加到 std::vector 的完全有效的方法。

确保您的 vector 是在函数范围之外定义的。否则 vector 会超出范围并被释放。

一些可能有助于您理解的链接: http://www.cs.umd.edu/class/sum2003/cmsc311/Notes/Mips/stack.html
http://en.wikipedia.org/wiki/Scope_(programming) http://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization

关于c++ - DirectX 中的 vector 处理项目符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3936038/

相关文章:

c++ - 在 C++ 中复制一维二维 vector 的最快方法

c++ - 为什么 STD vector 在分配时不调用默认构造函数?

c++ - 从函数 C++ 返回 NULL 字符串

c++ - 为什么我不能打印工资?

c++ - 错误 : no match for ‘operator<’ in ‘__x < __y’ when trying to insert in two map

c++ - 添加两个不同大小的独立 int vector 的值?

c++ - 条件跳转或移动取决于函数调用时未初始化的值

c++ - 在 C++ dll 中保持 MATLAB 引擎打开

c++ - std::vector 实现是否使用内部数组或链表或其他?

c++ - 使用先前 move 过的输出迭代器调用 move() 是标准 C++ 吗?