gpt4 book ai didi

c++ - 使用多行 stringfy 宏生成 getter/setter

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:26:32 26 4
gpt4 key购买 nike

我最近看到了一个很酷的 c 风格的宏播放,它自动为类生成 setters/getters。这就是我要说的。

#define BOOL_VARIABLE(name)\
void set##name(bool iValue)\
{\
// set the boolean
}\
const bool get##name() const\
{\
// get the boolean
}

BOOL_VARIABLE(AVariableName); // and calling them inside the class
  • 现在为所有 string/int/double 等变量考虑其中之一

我知道所有避免宏使用类型的评论,但实际上我觉得它很酷,因为长的 getter/setter 行真的让我感到不安。你能想到这种方法可能出错的地方吗?

最佳答案

与直接成员访问相比,并没有太大的好处 -- 为什么它首先要存在?

通常,访问器的主体是验证输入和 this, 状态的好地方,但宏不允许这样做,所以它确实没有“足够”使用(IMO ) 跨代码库。在典型的程序中,通常还会有足够多的变化来证明它的使用是不合理的。它当然不应该是声明变量和/或其访问器的唯一方法。

只是为了避免混淆:我完全支持访问器和封装。此宏只是将您锁定在它们更重要的好处之外。

关于c++ - 使用多行 stringfy 宏生成 getter/setter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21412266/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com