头文件中的 std::vector 声明之后的奇怪数据
Weird data after std::vector declaration in header file
我有头文件,我在其中声明了向量 od 结构:
#include <d3d10.h>
#include <d3dx10.h>
#include <vector>
#include <fstream>
#include <istream>
#include <sstream>
using namespace std;
struct bone{
string name;
D3DXMATRIX TransformMatrix;
};
class animator
{
public:
animator();
~animator();
vector <bone> Skeletone;
void loadXfile(string Filename);
};
一切看起来都很好,但是当我尝试在代码中使用push_back()并进行调试时,Skeletone中的数据无法读取。当我使用相同类型的向量但在函数(tempvecbone)中本地声明时,不会出现此问题。
if (checkChar == ';'){
tempvecbone.push_back(tempBone);
Skeletone.push_back(tempBone);
while (checkChar != '}')checkChar = fileIn.get();
}
从调试器链接到屏幕
有人知道发生了什么吗?
如果其他人有此问题,则是由Visual Studio项目设置中的"最大化速度(/O2)"优化引起的。它可以在项目属性 -> C/C++ -> 优化中更改(现在我设置为禁用)。
相关文章:
- 防止主数据类型C++的隐式转换
- 为什么在popback()操作之后,它仍然打印完整的矢量
- 用于访问容器<T>数据成员的正确 API
- 在 QAbstractTableModel 上的 setModel 之后插入数据
- 即使在超出范围之后,我是否可以保留矢量数据
- 而(getline(fin,str)){}即使在到达eof之后仍在处理数据
- recvfrom 只收到几个数据包,之后它进入等待状态
- 在指针算术之后丢失数据的列表列表
- 将数据附加到 csv 文件,在最后一个条目之前而不是最后一个条目之后.C++
- 为什么我们必须在箭头符号(->)之后再次指定数据类型
- 数据类型之后或变量名称之前的引用符号之间的差异
- 在整数数据类型和连续两个字符类型之后.第 2 个字符的数据类型跳过..为什么
- 对对象的数据成员的shared_ptr是否使数据成员在对象的生存期之后保持活动状态
- 头文件中的 std::vector 声明之后的奇怪数据
- 在C++推送到队列后,如果我在之后编辑该项目数据,它会影响队列中的数据
- C++是保证在基本对象std::swap之后有效的派生对象数据
- poll()系统调用以及之后接收或发送数据的行为
- 函数对象在for_each之后丢失了数据成员的值
- TCP套接字:传入数据在ack之后(离开TCP读取缓冲区)但在read()/recv()之前的位置
- 为什么我的数据成员即使在构造之后也是空的