Here is the exact CVar class from WoW alpha build 3368. It may have changed since then, but probably not by much.
Code:
class CVar : public TSHashObject<CVar,HASHKEY_STRI> // size = 0x64
{
private:
char m_name[32]; // 0x18
unsigned int m_category; // 0x38
unsigned int m_flags; // 0x3c
char* m_stringValue; // 0x40
float m_floatValue; // 0x44
int m_intValue; // 0x48
int m_modified; // 0x4c
char* m_defaultValue; // 0x50
char* m_resetValue; // 0x54
char* m_latchedValue; // 0x58
CONSOLE_VAR_PROC m_callback; // 0x5c
void* m_arg; // 0x60
void InternalSet(const char* value, unsigned char setValue, unsigned char setReset, unsigned char setDefault);
public:
CVar(const CVar&);
CVar();
~CVar();
static void Initialize(const char* filename);
static void Destroy();
static CVar* Register(const char* name, const char* help, unsigned int flags, const char* value, CONSOLE_VAR_PROC fcn, enum CATEGORY category, unsigned char setCommand, void* arg);
static CVar* Lookup(const char* name);
const char* GetString();
float GetFloat();
int GetInt();
const char* GetName();
const char* GetLatchedValue();
const char* GetDefaultValue();
const char* GetResetValue();
unsigned char Set(const char* value, unsigned char setValue, unsigned char setReset, unsigned char setDefault);
void Reset();
void Default();
unsigned char Update();
int Modified();
unsigned char IsArchived();
CVar& operator=(const CVar&);
};