C++:同时使用整数和对整数的引用
C++: Simultaneous use of Integers and References to Integers
考虑以下 class 表示具有上限和下限的整数参数:
class Parameter
{
protected:
int value;
int minval;
int maxval;
};
我有一个参数对象列表。有时,参数的 minval/maxval 将是列表中另一个参数的值。其他时候,它们只是整数文字。据我了解,我可以 minval/maxval 引用另一个参数值或整数文字,但不能同时引用这两者,因为 int& != int.
我该如何解决这个问题?
如果没有更多信息,这很难回答,但是如果您希望 相同的 class 拥有可以是 int
或参考的成员int
听起来像是 std::variant
的用例,即
class Parameter
{
protected:
int value;
std::variant<int, int*> minval;
std::variant<int, int*> maxval;
};
注意这里需要指针类型因为.
考虑以下 class 表示具有上限和下限的整数参数:
class Parameter
{
protected:
int value;
int minval;
int maxval;
};
我有一个参数对象列表。有时,参数的 minval/maxval 将是列表中另一个参数的值。其他时候,它们只是整数文字。据我了解,我可以 minval/maxval 引用另一个参数值或整数文字,但不能同时引用这两者,因为 int& != int.
我该如何解决这个问题?
如果没有更多信息,这很难回答,但是如果您希望 相同的 class 拥有可以是 int
或参考的成员int
听起来像是 std::variant
的用例,即
class Parameter
{
protected:
int value;
std::variant<int, int*> minval;
std::variant<int, int*> maxval;
};
注意这里需要指针类型因为