首页
学习
活动
专区
圈层
工具
发布

CPP:赋值
EN

Stack Overflow用户
提问于 2013-09-19 16:19:33
回答 2查看 88关注 0票数 0

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

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

代码语言:javascript
复制
Template <typename T>
class c_assigned_value 
{
protected:  
  bool _assigned;
  T    _value;
public:
...
};

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

EN

回答 2

Stack Overflow用户

发布于 2013-09-19 16:31:51

有什么问题吗?构造函数将m_assigned设置为false,将m_value设置为默认值。如果稍后设置了该值,则将m_assigned设置为true,并在某个时间点检查m_assigned,如果为false,则发出警告。

我可能会补充说,以_开头的符号名称不是一个好主意。许多实现将此类符号视为其名称空间中的符号,并将其定义为宏。(不正确,但当他们这样做时,这并没有帮助。)一般而言,为了提高可读性,应避免在符号的两端使用_

票数 2
EN

Stack Overflow用户

发布于 2013-09-19 16:40:24

你应该尝试一下boost:optional。它做的正是你想做的。

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18889561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档