首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

简单的有关问题

2012-03-01 
简单的问题intmain(void){stringstrcout sizeof(str) endl}为什么结果会是32????而且不管str里有多

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

热点排行