C++ DirectX中的矢量处理项目符号

C++ DirectX中的矢量处理项目符号,c++,stl,vector,directx,C++,Stl,Vector,Directx,我有一个向量来保存bullet类的对象。这是向向量结构添加项目符号的正确方法吗 std::vector<Bullet> bullets; Bullet newbullet(thisPlayer.x+PLAYERSPRITEWIDTH,(thisPlayer.y-(PLAYERSPRITEHEIGHT/2))); bullets.push_back(newbullet); std::矢量项目符号; Bullet newbullet(thisPlayer.x+PLAYERSPRITE

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

std::vector<Bullet> bullets;

Bullet newbullet(thisPlayer.x+PLAYERSPRITEWIDTH,(thisPlayer.y-(PLAYERSPRITEHEIGHT/2)));
bullets.push_back(newbullet);
std::矢量项目符号;
Bullet newbullet(thisPlayer.x+PLAYERSPRITEWIDTH,(thisPlayer.y-(PLAYERSPRITEHEIGHT/2));
子弹。推回(纽布利特);

我不认为项目符号是这样添加的。

这是一种将“项目符号”添加到std::vector的非常有效的方法

确保向量定义在函数范围之外。否则,向量将退出作用域并取消分配

一些可能有助于您理解的链接:


是什么让你认为子弹没有被添加?
项目符号
集合是否为空?你有例外吗?谢谢你的回复。我现在明白了。