我试图编写一个在容器类中存储id和值的类.我使用嵌套类作为我的数据结构.当我编译代码有时它打印完美,有时它什么都不打印,有时打印一半的数据然后停止.当我调试代码时,同样奇怪的行为发生,当它在调试期间失败时抛出错误"Map.exe已触发断点.",当我使用cout时,错误在print方法中出现.
cmap.h
#pragma once
class CMap
{
public:
CMap();
~CMap();
CMap& Add(int id, int value);
void print() const;
private:
class container
{
public:
~container();
int container_id = 0;
int container_value = 0;
};
container* p_komp_;
int dim_ = -1;
void resize();
};
Run Code Online (Sandbox Code Playgroud)
cmap.cpp
#include "cmap.h"
#include <iostream>
using namespace std;
CMap::CMap()
{
p_komp_ = new container[0];
}
CMap::~CMap()
{
p_komp_ = nullptr;
cout << "destroy cmap";
}
CMap& CMap::Add(int id, int value)
{
resize();
p_komp_[dim_].container_id = id;
p_komp_[dim_].container_value = value; …Run Code Online (Sandbox Code Playgroud) c++ ×1