Я пытаюсь выяснить, когда самое лучшее время для использования функций-членов (статические), и когда нужно добавить только вспомогательный метод в файл .cpp.Когда функция должна быть функцией-членом
Предполагая, что в классе MyClass я хочу преобразовать TypeA в typeB. Это длинный процесс, поэтому я добавлю метод обработки преобразования.
Метод является чисто функциональным и не имеет ничего общего с состоянием экземпляра MyClass. Он получает входные данные и производит выходные данные без использования каких-либо членов (частных или общедоступных) MyClass.
Только MyClass будет использовать этот метод.
Теперь я не знаю, как этот метод должен быть определен:
- статическая функция MyClass
- статическая функция в специальном классе с этой функцией.
- Метод справки, который не является членом какого-либо класса, только определение в файле cpp.
Если это концептуально связано с 'MyClass', то оно должно быть сделано в виде private static и введено в пространство имен MyClass. – StoryTeller
По возможности и использование этой функции ограничено 'MyClass', я бы выбрал 3. (в неназванном пространстве имен). –
Небольшая функция «полезности» вроде этого, я делаю # 3 (также в неназванном пространстве имен), возможно, чтобы избежать перекомпиляции, если использовать в качестве статической функции в файле заголовка. Но это не имеет большого значения между 1 и 3. –