CPP:分配的价值

时间:2013-09-19 08:19:33

标签: c++

我有一个程序,它有很多方法可以在代码中分配一些参数(变量)。例如,我可以从输入文件中获取参数,同时从命令行手动设置它。如果输入文件和命令行都没有设置参数,我应该打印一条警告信息并使用默认值。

我正在寻找C ++实现此类功能的方法。从我的观点来看,它应该是这样的类

Template <typename T>
class c_assigned_value 
{
protected:  
  bool _assigned;
  T    _value;
public:
...
};

但是我找不到任何实现。你有什么建议吗?

2 个答案:

答案 0 :(得分:2)

有什么问题?构造函数将m_assigned设置为 falsem_value为默认值。如果值稍后 设置,然后m_assigned设置为true,并在某个时间点设置为m_assigned 时间,你检查_,如果是假的则发出警告。

我可能会补充一点,用它来开始一个符号名称是一个坏主意 _。许多实现将这些符号视为存在 他们的命名空间,并将它们定义为宏。 (错误地,但是 当他们这样做时,这没有任何帮助。)更一般地说,为 可读性,您应避免在符号的任何一端使用{{1}}。

答案 1 :(得分:0)

你应该试试boost:可选。它完全符合您的要求。

手册: http://www.boost.org/doc/libs/1_54_0/libs/optional/doc/html/index.html