读书人

简单的有关问题

发布时间: 2012-03-01 10:25:46 作者: rapoo

简单的问题
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所保存的数据长度

读书人网 >C++

热点推荐