这个功能的顶部发生了什么

时间:2009-12-15 14:24:20

标签: c++ visual-c++ mfc initialization

我目前正在查看一个函数示例,我似乎无法弄清楚在Visual C ++中使用MFC。功能如下

CMFC_OSG_MDIView::CMFC_OSG_MDIView() :mOSG(0L)
{
}

我理解除了mOSG(0L)片段之外的所有内容。 mOSG在MFC_OSG _MDIView类中声明如下:

cOSG* mOSG;

3 个答案:

答案 0 :(得分:4)

CMFC_OSG_MDIView::CMFC_OSG_MDIView() :mOSG(0L)
{
}

以上是一个名为CMFC_OSG_MDIView的类的构造函数。 :mOSG(0L)称为initializer list,在创建对象时执行。 init-list在构造函数体之前被调用,而正确的位置用于初始化成员变量。

答案 1 :(得分:1)

这是一个初始化程序 - mOSG初始化为0L。当控件进入构造函数体时,mOSG已初始化。

有关为什么在构造函数中使用初始化器而不是赋值的讨论,请参阅this question

答案 2 :(得分:1)

0L指定值为零的长整数。因此,这会将类成员mOSG初始化为0。