查找类及其所有内容的绝对大小

时间:2017-05-08 10:35:45

标签: c++ memory stack heap sizeof

我有一个班级:

class DelayContainer
{
public:
    explicit DelayContainer(std::vector<int> intervals, std::shared_ptr<IDelayCalculator> calc);
    void insertMeassurements(std::vector<qos::models::Meassurement> & ms);
    void printToCOUT();
    void clearCurrentEntry();
    float getAverage(int interval);
    float getFractile(int interval);
    float getMinDelay(int interval);
    float getMaxDelay(int interval);
    jitterContainer& getJitterContainer(int interval);
    unsigned short getNextMinute();
private:
    std::unique_ptr<std::map<float, std::map<unsigned short, int>>> container_;

    short getMinuteBefore(int minutesBack) const;
    unsigned short curMinute_ = 0;
    float getDelayBin(float delay) const;
    float daydelay = 0;
    float dayCount = 0;
    std::map<int, CalcValues> calcs_;
    shared_ptr<IDelayCalculator> delayCalc_;
};

这个类最终可能包含相当多的数据。 问题似乎是,数据主要在container_内找到,这是一个指针。

这意味着当我创建一个sizeof()时,我得到48个字节的结果。这似乎不对。

有没有什么方法可以获得类的绝对大小,包括它的所有内容和指针数据? 我对数据类型本身的大小不感兴趣,但实际大小取决于映射中的输入数量等等。

希望任何人都可以提供帮助。

祝你好运

0 个答案:

没有答案