关于.size()函数的返回值问题(C++)

为什么我的.size()函数有时返回值是0?我的字符串也不是空串啊!我的系统是win10,用的是dev-c++的5.1.1版。求解!

你是这样构造的吗?

std::string s("abcdefg", 0); // s.size() = 0

第二个参数显式地指明 size 大小。

或者你有显式调用:

s.resize(0); // s.size() = 0

还有一个可能:

std::string s("\0abcdefg"); // s.size() = 0

遇到空字符即停止填充。

看文档啊大佬。。。https://en.cppreference.com/w/cpp/string/basic_string/basic_string

请举个例子