Меня смущает CDiagramEngDoc *PDoc = (CDiagramEngDoc*)pChild-> GetActiveDocument();

#c

#c

Вопрос:

Как вы это объясните? Я смущен тем, как первый () получил их и что это значит.

 CDiagramEngDoc *pDoc = (CDiagramEngDoc*)pChild->GetActiveDocument();
  

Ответ №1:

Это приведение в стиле C для приведения указателя (вероятно, к производному типу). В C было бы более привычно использовать static_cast<CDiagramEngDoc*>(...) здесь.

Это похоже на то, как если бы вы писали (float) 3 для преобразования 3 в float .