【发布时间】:2010-10-05 18:33:02
【问题描述】:
所以,假设在 C++ 的一个类中,我有各种各样的成员变量。结构、字符串、整数等等等。可以是任何东西。这些变量可以或不能通过该类的对象的初始化来设置。给定 int a、float b、char c,有时可以全部设置或不设置。设置它们后,可以将它们设置为变量的任何可能值。我想找到某种设置方法,并确定是否设置了变量:
1) 大量选角。我总是可以创建一个具有布尔值的 Data_Value 装饰器类,并将其模板化为给定变量的任何内容。这需要调用 a_data_value.value 和 a_data_value.isInitialized。
2) 大量额外的布尔变量。我宁愿没有 bool a_initialized,bool b_initialized。
我真正想做的是这样的:
Python add to a function dynamically
在 C++ 中,带有任何和所有变量,包括原语。我知道的要求很高,我完全期待悲观的答案。
【问题讨论】:
-
你对使用构造函数有问题吗?
-
这个项目需要使用C++吗?如果动态语言(或具有内省的语言)更适合解决问题,也许最好的方法是使用一种。
-
如果您能详细说明您为什么要这样做,或许我们可以提供替代解决方案。
-
您是否有理由不能简单地在分配时初始化所有变量?
-
您链接的 Python 问题似乎与这个问题没有任何关系。详细说明为什么它的相关性会很好。
标签: c++