草庐IT

cc-option

全部标签

c++ - 我可以使用 std::optional 进行错误处理吗?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion使用C++17我们得到了std::optional这是表达可空类型的有用包装器。我可以用它来处理错误吗?这样做很有吸引力:optionalCompute(){//...computesomethingvalid...returnstd::nullopt;//error!}这会是一个不错的选择吗?返回空指针不一样吗?人们报告的问题是,如果发生错误,您会丢失一条消息。所以返回一些状态码可能会更

c++ - 如何永久覆盖 HOMEBREW_CC 和 HOMEBREW_CXX 设置?

自从我在我的Mac上安装了gcc-49之后,我就再也无法让Homebrew找到C++编译器了。它总是失败并显示如下错误消息:configure:error:C++preprocessor"/lib/cpp"failssanitycheck运行“brewupgrade-v”会输出:...==>ENVHOMEBREW_CC:llvm-gccHOMEBREW_CXX:llvm-g++...我不知道为什么Homebrew要使用这些编译器。为什么它不能像其他所有东西一样使用普通的CC/CXX环境变量?我已经发现,通过像UsingHomebrewwithalternateGCC中描述的那样直接编辑

c++ - 如何将 boost options_description 与十六进制输入一起使用?

我想有两个选项供程序运行,起始地址和结束地址,以便程序选项如下:--start_address0xc0000000--end_address0xffffffffoptions_description是否可以接受这样的十六进制输入?我是否必须将输入视为字符串并将它们转换为十六进制值。我现在有这个:po::options_descriptiondesc("Allowedoptions");desc.add_options()("help,h","displaythishelpmessage")("path,p",po::value(),"Executablefilepath")("star

c++ - 自动配置/自动制造 : How to avoid passing the "check" option to AC_CONFIG_SUBDIRS

我正在使用Autoconf构建我的C++项目。它使用第三方代码,这些代码也是在Autoconf/Automake的帮助下构建的。所以在我的configure.ac中有以下行:AC_CONFIG_SUBDIRS([subdirectoryname])一切正常,但我还使用该功能让测试在执行makecheck时自动进行-这也是由第三方代码完成的。因为这些测试需要一段时间,所以每次我想测试自己的代码时都执行它们很烦人。那么有没有办法避免check选项被传递给子目录的Makefile呢?更新:覆盖check-recursive似乎不是一个选项,因为我的顶级Makefile.am看起来(或多或少)

c++ - 什么是 diff b/w Includes in VC++ Directories options 和 Additional include directories in C++ -> General in Visual Studio

我尝试在工具->选项中的VC++目录->包含目录选项中添加包含目录,但在编译时出现错误-“找不到文件或目录”。一旦我添加到Projectproperties->Configurationproperties->C++->General->Additionalincludedirectories,我就可以成功编译。那么为什么VisualStudio有一个包含目录选项。为什么它用于?(我使用的是VisualStudio2010Beta1) 最佳答案 VisualStudio团队最近在他们的博客中解释了VS2010在包含目录方面与早期版本

c++ - 有什么能阻止 std::optional::value_or() 有条件地 noexcept 吗?

这是value_or()的定义来自C++17标准:templateconstexprTvalue_or(U&&v)const&;Effects:Equivalentto:returnbool(*this)?**this:static_cast(std::forward(v));Remarks:Ifis_copy_constructible_v&&is_convertible_visfalse,theprogramisill-formed.(右值重载类似)value_or的效果被描述为等同于returnbool(*this)?**this:static_cast(std::forward

c++ - 如何防止 boost::optional<T> 被错误地构造为 0?

boost::optional(1.51)提供了一种构造对象的方法,这对我的用户来说非常危险,我想避免这种情况。假设我有自己的整数类,我想传递一个可选的此类整数并将其存储在某个类中:classmyint{public:intm_a;myint(intr_a):m_a(r_a){}};structmyclass{boost::optionalcontent;myclass(constboost::optional&arg):content(arg){}};现在,用户将如何使用该类:myclass(myint(13));//correctusemyclass(boost::none);//

c++ - 'ld : unknown option: -rpath=./libs' - 在 mac os 10.7.5 上构建 openframework 插件时出现链接错误

我对编码很陌生,我正在尝试构建一个名为ofxReprojection的开放框架插件示例项目。.我去的时候:cd/Users/Macbookpro/Documents/openframeworks/addons/ofxReprojection/example-ofxKinect然后make我收到这个错误:ld:unknownoption:-rpath=./libsclang:error:linkercommandfailedwithexitcode1(use-vtoseeinvocation)make[1]:***[bin/example-ofxKinect]Error1make:***

c++ - 使用 boost::optional 时避免临时

boost::optional支持像这样的in_place构造:#include#includeclassFoo{inta,b;public:Foo(intone,inttwo):a(one),b(two){}};intmain(){boost::optionalfooOpt(boost::in_place(1,3));}一旦我们有了一个初始化的fooOpt,有没有办法在不创建临时对象的情况下为它分配一个新的Foo?类似的东西:fooOpt=boost::in_place(1,3);谢谢! 最佳答案 boost::可选#includ

c++ - boost::program_options - 如何处理 INI 文件中具有相同名称的多个部分

在如下配置中;有没有办法处理各个部分。我正在寻找一种方法来以可靠的方式验证下面的各个“服务器”部分。[basic]number_of_servers=3[server]ip=10.20.30.40password=sdfslkhf[server]ip=10.20.30.41password=sdfslkhf[server]ip=10.20.30.42password=sdfslkhf[server]password=sdfslkhf[server]ip=10.20.30.42 最佳答案 当使用boost::program_optio