首页 > 解决方案 > 类字符串是否总是被初始化为空?

问题描述

我有这个字符串s并且t在课堂上。

class A
{
    private:
    static string s;
    string t;
    public:
    void printString()
    {
        cout<<s<<t<<endl;
    }
};

我尝试打印这些字符串,如果没有初始化,每次它们都是空的。所以我的问题是在构造函数初始化之前类字符串是否总是空的。静态和非静态字符串也是如此吗?

标签: c++stringinitializationprivateaccess-modifiers

解决方案


在这两种情况下,都会调用默认的字符串构造函数。该类的默认构造函数std::string将始终将其初始化为空字符串。


推荐阅读