class 字符串是否总是被初始化为空?
Does a class string always gets initialized to empty?
我在 class 中有这个字符串 s
和 t
。
class A
{
private:
static string s;
string t;
public:
void printString()
{
cout<<s<<t<<endl;
}
};
我尝试打印这些字符串,如果没有初始化它们每次都是空的。所以我的问题是 class 字符串在构造函数初始化之前是否始终为空。对于静态和非静态字符串也是如此吗?
在这两种情况下,都会调用默认的字符串构造函数。 std::string
class 的默认构造函数将始终将其初始化为空字符串。
我在 class 中有这个字符串 s
和 t
。
class A
{
private:
static string s;
string t;
public:
void printString()
{
cout<<s<<t<<endl;
}
};
我尝试打印这些字符串,如果没有初始化它们每次都是空的。所以我的问题是 class 字符串在构造函数初始化之前是否始终为空。对于静态和非静态字符串也是如此吗?
在这两种情况下,都会调用默认的字符串构造函数。 std::string
class 的默认构造函数将始终将其初始化为空字符串。