泛型突变器/访问器函数
Generic Mutator/Accessor functions
有没有办法在C++中创建泛型set/get函数?我有一个具有大量属性但没有函数的类(好吧,我可能应该使用结构(,并且真的不想为每个数据成员编写单独的集合和获取函数。我想到的函数类似于'set_member(T变量(,其中T可以是任何东西,原始类型或用户定义。我想也许你可以创建一个结构体作为成员的结构,然后每当你想访问成员结构的特定成员时,你都会通过适当的指针引用它。我尝试过写一些东西来实现这一目标,但到目前为止还没有运气。
C++(据我所知(没有内置的方法来自动生成setter/getter函数。
你也许可以施展一些宏观魔法(及其所有陷阱(,否则你的选择很渺茫。
我可以想到以下替代方案:
-
某些 IDE 会自动为类的数据成员生成 get 和 set 方法。我不确定C++ IDE 是否可行。但我知道Eclipse IDE for Java可以做到这一点。您可以检查一次 Eclipse IDE for C++ 是否具有此功能。
-
您可以编写一个简短的shell脚本或python脚本,用于自动生成get,set方法,给定一个文本文件,其中包含每行中的变量名称和类型。
-
默认情况下,结构的所有成员都是公共的。所以使用结构。或者,如果您决定使用类,则将所有数据成员放在公共部分中。如果您不做简单设置以外的任何操作,那么这样做可能是可以的。但是,如果遇到数据成员更改问题,调试将很乏味。
相关文章:
- 使用不带参数的函数访问结构元素
- 删除目录函数访问被拒绝
- 给定一个C++嵌套的私有结构类型,是否有从文件范围静态函数访问它的策略
- 如何使用 C++ 中的继承函数访问派生类中的局部变量
- 我想要一个具有子函数的函数访问相同的命名函数,而不使用它取决于其子类的类
- 有没有办法通过 main 函数访问受保护的矢量大小而无需将其转换为公共?
- 如何在C++通过公共函数访问私有函数成员?
- 限制variadic模板类中的构造函数访问
- 从析构函数访问模板类构造函数的参数,可以吗?
- 变量 z 无法从其他函数访问变量 x
- 从静态成员函数访问私有非静态类变量 - C++
- 如何在 C++ 中从 void 返回函数访问变量
- 在类中使用映射并通过其他类的 get() 和 set() 函数访问值
- 无法从另一个函数访问文件范围变量的内容
- 是否可以从 C++ 中的构造函数访问对象名称?
- 使用C 中的共享_ptr从公共静态成员函数访问私有构造函数
- 使用静态成员函数访问静态数据成员
- 为什么我们可以从 C++ 中的成员函数访问 non_member 函数
- 如何使用 c++ 中的函数访问全局变量?
- 如何从 C++ 中的主函数访问类中的私有构造函数?