小编max*_*elo的帖子

C++,尝试打印整数时cout的奇怪行为

我试图编写一个在容器类中存储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++

2
推荐指数
1
解决办法
112
查看次数

标签 统计

c++ ×1