Как определить объем памяти объекта C ++ во время выполнения

Я пытаюсь определить размер объекта во время выполнения. sizeof не работает, потому что он возвращает размер во время компиляции. Вот пример того, что я имею в виду:

class Foo 
{
public:
    Foo() 
    {
        c = new char[1024*1024*1024];
    }
    ~Foo() 
    { 
        delete[] c; 
    }

private:
    char *c;
};

В этом случае sizeof (Foo) будет 4 байта, а не ~ 1 ГБ. Как я могу определить размер Foo во время выполнения? Заранее спасибо.

7
задан icecrime 22 December 2010 в 21:30
поделиться