我用的vs code,g++编译器
string s1("Hello World1123456");
cout << s1.capacity() << " " << s1.size() << endl;
capacity在g++里不应该是2倍2倍的长吗,为什么只要是超了15的字符串capacity和size都一个样
我用的vs code,g++编译器
string s1("Hello World1123456");
cout << s1.capacity() << " " << s1.size() << endl;
capacity在g++里不应该是2倍2倍的长吗,为什么只要是超了15的字符串capacity和size都一个样
关注以下回复引自免费微信小程序:皆我百晓生。 如问题解决,还请采纳。如仍有疑问,请回复留言或私信博主,以便获得更精准的帮助。
在C++中,CAPACITY()方法用于获取字符串对象的可容纳的最大字符数。如果一个字符串对象已满,那么它的容量会增加,并且CAPACITY()方法将返回这个新的最大容量。你可以通过以下方式实现:
#INCLUDE <IOSTREAM>
#INCLUDE <CSTRING>
INT MAIN() {
CHAR STR[] = "HELLO WORLD1123456";
INT CAPACITY = STRLEN(STR);
STD::COUT << "STRING'S CAPACITY: " << CAPACITY << STD::ENDL;
RETURN 0;
}
在这个例子中,我们创建了一个字符串STR,并使用STRLEN函数计算出其长度。然后,我们调用CAPACITY来获取字符串的容量。最后,我们打印出这个容量值。