无法理解包装类的构造函数的声明

时间:2017-07-13 12:52:22

标签: c++

下面是我在stackoverflow中找到的包装类。

class int_ptr_wrapper
{
public:
    int_ptr_wrapper(int value = 0) :
    mInt(new int(value))
    {}

    // note! needs copy-constructor and copy-assignment operator!

    ~int_ptr_wrapper()
    {
        delete mInt;
    }

private:
    int* mInt;
};

我无法理解声明的含义:

    int_ptr_wrapper(int value = 0) :
    mInt(new int(value))
    {}

您能详细解释一下这个声明的含义吗?

1 个答案:

答案 0 :(得分:1)

构造函数使用initialization list,您只需为@Override public void onBackPressed() { BottomNavigationView bottomNavigationView = (BottomNavigationView) findViewById(R.id.navigation); int seletedItemId = bottomNavigationView.getSelectedItemId(); if (R.id.home != seletedItemId) { setHomeItem(MainActivity.this); } else { super.onBackPressed(); } } public static void setHomeItem(Activity activity) { BottomNavigationView bottomNavigationView = (BottomNavigationView) activity.findViewById(R.id.navigation); bottomNavigationView.setSelectedItemId(R.id.home); } 变量动态分配内存。

该构造函数与此相同:

mInt