c++中string类的大小

请问 sizeof(string) 返回的值是多少
2024-12-03 13:06:53
推荐回答(5个)
回答1:

32位机下是4 ,64位下是8,string类内部成员是char *。
#include
#include
using namespace std;
int main()
{
cout << sizeof(string) << endl;
return 0;
}

输出值为8,我的是64为虚拟机。

回答2:

这个跟编译器有关的,在32位机的 vc6.0下sizeof(string) =16;但在VS2008下它是32.
就用下面这段程序测的。
#include
#include
void main()
{
std::cout<
}

回答3:

struct list{
double a;
int b;
string c;
}list;
sizeof(list)=20h
sizeof(string)=10h
sizeof(list.c)=10h
c只是string类的一个对象而已,类似于一个指针一样,list只包含指针的长度,而不包含指针所指内容的长度

回答4:

string的字节数

回答5:

这个应该跟string类的实现有关,我这台机器是16,其他机器可能会不同