草庐IT

cpp_exceptions_handling

全部标签

c++ - yaml-cpp 库的 API 文档

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭4年前。Improvethisquestion我决定使用yaml-cppv0.3库来解析我维护的FOSS守护进程的配置文件。我已经决定转向新的0.5API,但到目前为止我最大的问题是除了这个之外似乎没有任何合适的文档:https://github.com/jbeder/yaml-cpp/wiki/Tutorial...还有一些第三方教程作为介绍很好,但在yaml-cpp源代码中似乎没有任何Doxygen注释。某处

c++ - 如何在 Windows 上构建 Apache ActiveMQ-CPP(和 APR)?

我正在尝试获取一些用C++编写的功能,以便与位于Linux机器上的ApacheActiveMQ(它native使用JMS)进行通信。为了建立这种联系,我尝试在我的Windows7机器(开发机器)上设置ApacheActiveMQ-CPP,但我目前面临一些主要问题。据我所知,ActiveMQ-CPP依赖于ApachePortableRuntime/APR,如here所述.我的问题是,我什至无法构建APR,因此无法开始使用ActiveMQ-CPP。我关注了thisguide从字面上看,在并行目录中设置,将版本名称重命名为标准名称并将启动项目更改为libaprutil(使用动态库),但没有任

c++ - 自定义异常层次结构。来自 std::exception 和 std::bad_alloc 的可怕钻石

我在自己的异常层次结构中遇到继承问题。Exception类具有很好的功能(回溯、日志记录等),因此它是我处理任何异常的基类。正如我在许多网页中看到的那样,它继承自std::exception。此外,我正在使用一个单元测试框架来报告任何std::exception被意外抛出。但归根结底,这只是为了方便。然后,我有一个新的OutOfMemoryException类,它将由自定义new_handler抛出。该类继承自Exception,但也继承自std::bad_alloc以兼容现有代码。我猜这更重要,因为new将不再抛出std::bad_alloc。这里的问题很明显:因为std::bad_

c++ - CMake + 库达 : compile cpp files in Cuda-mode (--x=cu)

假设我有一个文件,我们称它为foo.cpp,我的目标是在cuda模式下用nvcc编译这个文件。在命令行中,这可以通过调用轻松完成:nvcc--x=cufoo.cpp我正在苦苦挣扎的是让CMake做同样的事情。事实证明,CMake命令cuda_add_executable(foofoo.cpp)将过滤*.cpp文件并使用c++编译器(而不是nvcc)。请注意,将所有文件重命名为*.cu不是一种选择,因为代码库还必须支持非cuda构建。 最佳答案 在FindCUDAsourcecode我找到了一个选项来为特定的非.cu文件激活CUDA编

c++ - 与 C++ Exception throw 语句混淆

我是C++的新手,很抱歉提出了非常愚蠢的问题,但我对C++的异常处理机制中的throw语句感到困惑。在下面的代码中,为什么我们要调用名称与类名?它是构造函数吗?是否正在创建classExcept的实例?我不明白那里的语法。classA{public:classExcept{};voidfoo(){throwExcept();}};intmain(){Aa;try{a.foo();}catch(ExceptE)//exceptionhandler{cout 最佳答案 Isitaconstructor?是的。Isitcreatingan

c++ - 复制省略和异常(exception)

在阅读了cppreference的复制省略之后我想玩异常(exception)和复制省略。所以我在coliru上用gcc7.2写了下面的代码#includeclassException{public:Exception(){std::cout输出constructedcopyconstructed我们可以看到调用了复制构造函数,即使在使用-O2调用gcc时也会发生这种情况。在我看来,根据以下条款,这段代码应该有资格复制省略:Whenhandlinganexception,iftheargumentofthecatchclauseisofthesametype(ignoringtop-l

c++ - future 、 promise 和异常(exception)

std::promisep1;autof=p1.get_future();{std::promisep2(std::move(pr));}boolvalid=f.valid();//truef.wait();//doesnotthrow,orfail,butreturnsimmediatelyf.get();//throwsanexception有什么方法可以在调用get之前检查future是否会抛出异常?我希望valid会检查...我不太确定如何让valid返回false。在不设置值的情况下销毁promise不会这样做。 最佳答案

c++ - 使用 yaml cpp 解析 yaml

我正在尝试解析yamlusignyaml-cpp。这是我的yaml:---configuration:-height:600-widht:800-velocity:1-scroll:30types:-image:resources/images/grass.pngname:grass-image:resources/images/water.pngname:waterversion:1.0当我这样做YAML::Nodebasenode=YAML::LoadFile("./path/to/file.yaml");intheight;if(basenode["configuration"]

c++ - cpp如何关闭特定的监视器?

我知道如何关闭所有显示器SendMessage(HWND_BROADCAST,WM_SYSCOMMAND,SC_MONITORPOWER,(LPARAM)2);但我想只转一个。 最佳答案 正如我上面提到的-它需要使用lowlevelmonitorconfigurationapi库。以下代码是关于如何为所有显示器创建独立屏保的示例。#include#includeconstBYTEPowerMode=0xD6;constDWORDPowerOn=0x01;constDWORDPowerOff=0x04;/**Monitordescri

c++ - 如何让 CLion 插入生成的代码....在 .cpp 文件中

在CLion中生成代码总是导致在头文件中实现方法,我一直被告知它们应该放在.cpp文件中,我如何才能改变这种行为,甚至可能吗?示例:在包含main.cpp和测试类(test.hpp和test.cpp)的项目中。CMake文件如下:cmake_minimum_required(VERSION3.3)project(testClion)set(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS}-std=c++11")set(SOURCE_FILESmain.cpptest.cpptest.hpp)add_executable(testClion${SOURCE_FILES