Тема: вопрос по C++ символические константы перед объявлением функций

Извините вопрос не совсем по теме.

В c++ встречаются такие конструкции

в 1 файле:
#ifndef afx_msg
#define afx_msg         // intentional placeholder
#endif

во 2 файле:
#include "1.h"
...
afx_msg void функция(); //что тут значит эта константа afx ?

перелопатил учебники и интернет, ответа не нашел.

(изменено: Александр Ривилис, 6 января 2014г. 00:19:08)

Re: вопрос по C++ символические константы перед объявлением функций

В данном случае определения функций

afx_msg void функция();

и

void функция();


эквивалентны

(изменено: Эдуард Шубников, 6 января 2014г. 02:39:33)

Re: вопрос по C++ символические константы перед объявлением функций

Зачем тогда нужно писать afx_msg в объявлении функции.
Нет это что-то, другое.
Вот точный фрагмент кода:

protected:
    // Generated message map functions
    //{{AFX_MSG(CSampDialog)
    afx_msg void OnClose();
    afx_msg LRESULT onAcadKeepFocus(WPARAM, LPARAM);
    virtual void OnCancel();
    afx_msg void OnUndo();
    //}}AFX_MSG

появляется перед объявлением 3х разных функций

Re: вопрос по C++ символические константы перед объявлением функций

Эдуард Шубников пишет:

Нет это что-то, другое.

Это именно оно:

Спецификатор afx_msg означает объявление обработчика сообщения. На данный момент он не используется и представляет собой пустой макрос. Но в будущем возможны расширения. Поэтому использование спецификатора нужно считать обязательным.