Ладно, ни в коем случае не эксперт C/C++, но я подумал, что смысл заголовочного файла - объявить функции, а файл C/CPP - определить реализацию.
Однако сегодня вечером, просматривая некоторый код C++, я нашел это в заголовочном файле класса...
public:
UInt32 GetNumberChannels() const { return _numberChannels; } // <-- Huh??
private:
UInt32 _numberChannels;
Так почему же в заголовке есть реализация? Связано ли это с ключевым словом const
? Это встроенный метод класса? В чем именно заключается преимущество/смысл такого подхода по сравнению с определением реализации в файле CPP?