C++中string的问题
来源:百度知道 编辑:UC知道 时间:2024/09/22 13:33:15
string a;
cout << a.size() << a.empty() << endl;//这里正常
cout <<sizeof(a);//我运行的时候这里的输出是16.不管a是否被初始化
cout << a.size() << a.empty() << endl;//这里正常
cout <<sizeof(a);//我运行的时候这里的输出是16.不管a是否被初始化
sizeof(a) = sizeof(string)
string类的size就是16,a.size()返回的才是string里字符串的长度
string 就像一个数组,你如果初使化超过16它就增加一定的长度,哈哈,学一下数据结构就知道了。起初会分配一定空间的。。。
sizeof(a) 是在编译时决定的,所以不管你怎么初始化都是一样。
有道理