草庐IT

program_options

全部标签

c++ - Eclipse CDT : running C++ program not showing anything in the console! 为什么?

我正在使用Cygwin在Windows64位上运行带有CDT的最新版本的Eclipse,用于编译代码。我的问题是,当我在eclipse中运行任何c++软件时,控制台中没有输出。我试过这个:EclipseCDTdebuggerdoesnotshowconsole还有这个:EclipseCDTDebugconsolenotdisplayingprogramoutput但它不起作用。 最佳答案 作为"NoConsoleOutput(MinGW,CDT)"的伙计们指出,这可能(或至少有时)是因为Eclipse在启动可执行文件时没有将PATH

c++ - 错误 : 'cout' : undeclared identifier; though I've included iostream header file in program

我正在尝试编译下面的简单程序。但是,它没有编译并给出错误:errorC2065:'cout':undeclaredidentifier我想问你,为什么我已经在其中包含了iostream头文件,这个程序却不能运行?#includevoidfunction(int){cout提前致谢。 最佳答案 cout流在std命名空间中定义。所以命名它你写:std::cout如果你想把它缩短为cout那么你可以写usingnamespacestd;或usingstd::cout;在写cout之前。任何好的文档来源都会告诉您哪个命名空间包含一个对象。

c++ - std::optional::value_or() - 惰性参数评估

是否有可能以惰性方式评估std::optional::value_or(expr)参数,因此expr仅在没有的情况下计算值(value)?如果不是,什么是合适的替代品? 最佳答案 #includetemplatestructLazy{Ff;operatordecltype(f())()const{returnf();}};templateLazy(Ff)->Lazy;intmain(){std::optionalo;inti=o.value_or(Lazy{[]{return0;}});}DEMO

java - 为工作使用正确的工具 : embedded programming

我对非常​​适合嵌入式编程的编程语言感兴趣。特别是:是否可以用C++编写嵌入式系统?还是使用纯C更好?还是只有在排除语言的某些特性(例如RTTI、异常和模板)时,C++才可以?这个领域的Java怎么样?谢谢。 最佳答案 IsitpossibletoprogramembeddedsystemsinC++?是的,当然,即使在8位系统上也是如此。C++的运行时初始化要求与C稍有不同,即在调用main()之前,必须调用任何静态对象的构造函数。开销(不包括您控制的构造函数本身)很小,但您必须小心,因为未定义构造顺序。使用C++,您只需为使用的

c++ - 为什么 optional<T&> 应该在分配时重新绑定(bind)?

关于optional的内容一直存在争议。和variant应该与引用类型有关,尤其是在分配方面。我想更好地理解围绕这个问题的辩论。optionalopt;opt=i;opt=j;//shouldthisrebindordoi=j?目前,决定是optional格式不正确,使variant::operator=如果任何类型是引用类型,则格式错误-回避参数并仍然为我们提供大部分功能。opt=j的论据是什么?应该重新绑定(bind)底层引用吗?换句话说,为什么应该我们实现optional像这样:templatestructoptional{T*ptr=nullptr;optional&opera

c++ - "Elements of Programming"现实世界的例子?

我很想了解ElementsofProgramming书中描述的Stepanov的编程方法。.这里有没有人有这些方法的经验,或者可以指出一些讨论这个主题的在线资源?我在APossiblefutureofsoftwaredevelopment上看到了Adob​​e的Google技术讲座. 最佳答案 我是这本书的校对员,我对亚历克斯的反馈极大地影响了演讲的风格。我很高兴称自己为他的门徒之一。我觉得这些Material很吸引人,它彻底改变了我编写代码的方式,甚至是Java代码。尽管我提供的措辞含糊不清,但Alex的一些“方法”是激进的:编程

c++ - 如何使用 boost::program_options 接受可选标志?

我需要实现一个可选标志,例如-f/--flag。由于这是一个标志,因此没有关联的值。在我的代码中,我只需要知道是否设置了标志。使用boost::program_options的正确方法是什么? 最佳答案 一个方便的方法是使用bool_switch功能:boolflag=false;namespacepo=boost::program_options;po::options_descriptiondesc("options");desc.add_options()("flag,f",po::bool_switch(&flag),"de

c++ - 如何从 std::optional<T> 移动

考虑以下示例,我们解析数据并将结果传递给下一个函数:ContentParse(conststd::string&data);voidProcess(Contentcontent);intmain(){autodata=ReadData();Process(Parse(data));}现在让我们使用std::optional更改代码处理失败的解析步骤:optionalParse(conststd::string&data);voidProcess(Contentcontent);intmain(){autodata=ReadData();autocontent=Parse(data);i

c++ - boost::program_options - 是否可以强制执行强制标志?

我在我的程序中使用boost::program_options。我想强制使用某个标志。是否可以使用program_options来执行此操作,而它自己会强制执行此操作?即,抛出错误消息? 最佳答案 根据documentation您可以在选项描述中指定一个选项是必需的:options_descriptiondesc;desc.add_options()("help","producehelp")("count",value()->required(),"numberofexecutions");

c++ - 为什么移动 std::optional 不会重置状态

我很惊讶地发现std::optional的移动构造函数(以及相关的赋值)不会重置移动的可选值,如[19.6.3.1/7]其中指出“bool(rhs)未更改。”这也可以通过以下代码看出:#include#include#include#includeintmain(){std::optionalfoo{0};std::optionalbar{std::move(foo)};std::cout这似乎与标准库中的其他移动实例相矛盾,例如std::vector移动的容器通常以某种方式重置(在vector的情况下,它保证为空之后)使其“无效”,即使其中包含的对象本身已被移动。这个决策应该支持这个