Member 14221041 Ответов: 2

Вопрос о функции в C ++


Я прочитал следующий код C ++ :

CEnumContext::CEnumContext(void)
: m_SearchContainer(нуль)
, m_SearchPattern(нуль)
, m_fileTimeFrom(0)
, m_fileTimeTo(0)
, m_FileFlags(FILE_ATTRIBUTE_NORMAL)
, m_maxDepth(-1)
, m_depth(0)
{
m_maxFileSize.QuadPart = 0;
m_SearchPattern = _tcsdup(текст("*.*"));
}

: m_SearchContainer(нуль)
, m_SearchPattern(нуль)
, m_fileTimeFrom(0)
, m_fileTimeTo(0)
, m_FileFlags(FILE_ATTRIBUTE_NORMAL)
, m_maxDepth(-1)
, m_depth(0) - переменные.
Я не понимаю, для чего они здесь используются и с какой целью.
Помогите мне объяснить их! спасибо.

Что я уже пробовал:

: m_SearchContainer(нуль)
, m_SearchPattern(нуль)
, m_fileTimeFrom(0)
, m_fileTimeTo(0)
, m_FileFlags(FILE_ATTRIBUTE_NORMAL)
, m_maxDepth(-1)
, m_depth(0) - переменные.
Я не понимаю, для чего они здесь используются и с какой целью.
Помогите мне объяснить их! спасибо.

2 Ответов

Рейтинг:
0

KarstenK

Это синтаксис C++ для инициализации конструктора членов. Некоторые объяснение и примеры от Microsoft.


Рейтинг:
0

Stefan_Lang

Эта часть кода называется списком инициализаторов. Видеть Конструкторы и списки инициализаторов элементов - cppreference.com[^] для подробных объяснений.

С. П.:
Краткое пояснение: символ": "указывает на начало списка инициализаторов. Перед ':' находится вызов конструктора, после ':' идет разделенный запятыми список переменных-членов и значений, которые используются для их инициализации.

Например, в этом случае мы можем видеть, что класс CEnumContext имеет переменную-член с именем m_SearchContainer, которая инициализируется значением NULL.