为什么我的vector变量存元素进去以后再取出来以后发现内容是空的?
#include <stdio.h>
#include <string>
#include <vector>
using namespace std;
class CMyClass
{
public :
int x;
string s;
};
void main()
{
vector<CMyClass> MyMap;
CMyClass myclass;
myclass.x = 3;
myclass.s = "This is a test";
MyMap.clear();
MyMap.resize(1);
MyMap.push_back(myclass) ;
printf("\nMyMap[0].x =%d MyMap[0].s=%s",MyMap[0].x,MyMap[0].s.c_str());
}
运行结果:
MyMap[0].x =-1073743344 MyMap[0].s=
为什么存进去的元素取出来却是空的呢???
#include <string>
#include <vector>
using namespace std;
class CMyClass
{
public :
int x;
string s;
};
void main()
{
vector<CMyClass> MyMap;
CMyClass myclass;
myclass.x = 3;
myclass.s = "This is a test";
MyMap.clear();
MyMap.resize(1);
MyMap.push_back(myclass) ;
printf("\nMyMap[0].x =%d MyMap[0].s=%s",MyMap[0].x,MyMap[0].s.c_str());
}
运行结果:
MyMap[0].x =-1073743344 MyMap[0].s=
为什么存进去的元素取出来却是空的呢???
...全文
相关推荐
详解C++中的vector容器及用迭代器访问vector的方法
标准要求vector必须高效地处理元素的添加操作,所以通常推荐开始时创建一个空的vector,然后根据需要添加元素。
计算vector中所有元素之和
计算vector中所有元素之和/*编写程序,处理一个vector<string> ,其元素都表示整型值/浮点型,计算vector中所有元素之和*/
vector中删除元素erase的用法
在实际编程中,理解和熟练掌握`std::vector::erase`的用法对于编写高效、健壮的C++代码至关重要。了解何时使用哪种形式以及如何与其他算法结合使用,可以帮助我们更好地管理向量中的数据。
VS2008调试时查看vector元素
替换文件后,当你在调试期间设置断点并暂停程序执行,然后在“监视”窗口或者数据提示中输入vector变量名,你应该能看到一个展开的视图,列出vector的所有元素。
C++ Vector 动态数组的实现
定义(初始化)VectorVector 的定义有多种方式,例如:* `vector<int> v;` 创建一个空 Vector* `vector<int> v(5);` 创建一个元素个数为 5 的 Vector


