クラスにたくさんのメンバーを追加する必要があります。次のようなマクロを追加したいと思います。
#define MEMBER(TYPE,NAME) \
private: TYPE m_##NAME; \
public: TYPE get##NAME() const { return m_##NAME; } \
public: void set##NAME(TYPE in##NAME) { m_##NAME = in##NAME; }
次に、それを使用してメンバーをクラスに追加します。
class foo {
MEMBER(std::string, OutputDir);
MEMBER(int, MaxIterations);
MEMBER(double, OptimizationCutoff);
// And a couple dozen more members...
public:
// The rest of the class declarations
};
意図は明らかに、このようなコードの複数のインスタンスをショートカットすることです。多数のクラスメンバーごとに3行です。
private: std::string m_OutputDir;
public: std::string getOutputDir() const { return m_OutputDir; }
public: void setOutputDir(std::string inOutputDir) { m_OutputDir = inOutputDir; }
そのようなコーディングに対する考慮事項はありますか?