简单的有关问题

简单的问题
int   main(void)
{
string   str;
cout   < <sizeof(str)   < <endl;
}

为什么结果会是32????

而且不管str里有多少字符,他也一样的是32!

------解决方案--------------------
string是一个类啊,它得成员变量是固定的,大小当然也是固定的啦
里面存的字符是通过指针来指的那个地方,并不是存在类中
------解决方案--------------------
string是类..
------解决方案--------------------
string str = "hello ";

cout < <sizeof(str) < <endl; // 类型string的大小
cout < <strlen(str.c_str()) < <endl; // str所保存的数据长度