我知道最好避免使用c ++中的宏.使用内联函数替换类似函数的宏,并使用constexpr/using来替换const-variable-define宏.但我想知道是否有一种方法可以通过一些现代的c ++技术取代宏连接功能.
例如,如何替换以下宏:
#define GETTER_AND_SETTER(name) \
inline void Set##name(int value) \
{ \
m_##name = value; \
}
inline int Get##name() const \
{ \
return m_##name; \
}
Run Code Online (Sandbox Code Playgroud)
然后在一个类中,我可以为很多变量做这个,这使得代码更加干净.
GETTER_AND_SETTER(Variable1)
GETTER_AND_SETTER(Variable2)
GETTER_AND_SETTER(Variable3)
...
Run Code Online (Sandbox Code Playgroud)
我在这里和这里检查过,但我没有得到答案.伙计们,对此有任何想法吗?谢谢.
编辑:getter/setter的例子只是用来表示想法.请不要专注于他们.:)