似乎这是重复的,但也许如此明显,以至于没有被要求...

这是检查变量(不是指针)是否在C++类中初始化的正确方法吗?

class MyClass
{
    void SomeMethod();

    char mCharacter;
    double mDecimal;
};

void MyClass::SomeMethod()
{
    if ( mCharacter )
    {
        // do something with mCharacter.
    }

    if ( ! mDecimal )
    {
        // define mDecimal.
    }
}

最佳答案

无法检查变量内容是否未定义。最好的办法是分配一个信号/前哨值(例如在构造函数中),以指示需要进行进一步的初始化。

09-17 17:33