草庐IT

variable_which_I_am_using

全部标签

c++ - 如何处理失败的方法 : by using exceptions or making the methods return bool?

如何处理失败的方法:使用异常使方法返回bool值第一种方法是当出现问题时抛出异常。但是有问题的代码需要放在tryblock中,然后你需要编写catchblock。您需要检查返回值的第二种方法方法,然后做一些事情。那么基本上不是同一个机制吗?你有两个部分:检测到出现问题然后采取措施。那么我使用哪种方法重要吗? 最佳答案 异常的主要好处是它们是非本地的。您可以在抛出异常的地方捕获几个调用层之外的异常。这样,介于两者之间的代码就不必关心异常(除了确保在展开期间进行适当的清理,即异常安全),这使得异常情况不太可能被遗忘。但这种好处是有代价的

c++ - xcode - "attempt to use a deleted function"- 这是什么意思?

我正在Xcode4.2中编写C++库。我的一个类无法编译并出现此错误:attempttouseadeletedfunction没有具体说明它在谈论什么功能。我不想在这里发布类代码,但是有人知道这个错误是什么意思吗? 最佳答案 我对线程(C++11)有类似的消息。结果是我向线程调用的函数传递了错误数量的参数,因此线程找不到任何合适的函数并给出了该消息。 关于c++-xcode-"attempttouseadeletedfunction"-这是什么意思?,我们在StackOverflow上找

c++ - 错误 : Variable length array of Non-POD element type 'string'

在开始之前,我必须首先声明,我已经研究过针对此错误的可能解决方案。不幸的是,它们都与不使用数组有关,这是我项目的要求。另外,我目前正在学习CS入门类(class),所以我的经验几乎没有。数组的用途是从文件中收集名称。因此,为了初始化数组,我计算了名称的数量并将其用作大小。问题是标题中所述的错误,但我仍然使用一维数组时看不到解决方法。主要.cpp#include#include#include#include#include#include"HomeworkGradeAnalysis.h"usingnamespacestd;intmain(){ifstreaminfile;ofstrea

c++ - 忽略注释 : offset of packed bit-field without using "-Wno-packed-bitfield-compat"

当我尝试编译以下union时,弹出此警告:10:5:note:offsetofpackedbit-field'main()::pack_it_in::::two'haschangedinGCC4.4#pragmaGCCdiagnosticignore"-Wpacked-bitfield-compat"unionpack_it_in{struct{uint8_tzero:3;uint8_tone:2;uint8_ttwo:6;uint8_tthree:4;uint8_tfour:1;}__attribute__((packed))u8_2;uint16_tu16;};#pragmaGCC

Python 扩展 : using different compiler flags for a C parts and C++ parts

对于我的python扩展,我有C(来自嵌入式库)和C++文件,它们被编译并链接在一起。只有C++部分与Python接口(interface)(通过SWIG)。这在VS2015的windows和linux下的gcc中都有效。但是,对于gcc,C++文件需要一组不同于C文件的编译器标志(例如-std=c++11、-Wno-reorder),以避免出现有关C中不正确标志的警告。在setuptools/distutils中有没有办法单独更改每个文件的编译器标志,例如。基于文件扩展名?我已经使用了来自https://stackoverflow.com/a/36293331/3032680的自定义

c++ - std::condition_variable::wait_until 相对于 std::this_thread::sleep_for 有什么优势吗?

在时间等待场景中:oursoftwareworksinthebackground,andsynchronizesdatawiththeserverinevery20-30minutes.我想用std::this_thread::sleep_for但我的上级强烈反对任何形式的sleep功能。他推荐std::condition_variable::wait_until(lock,timeout-time,pred)不知道在这种情况下sleep_for有什么缺点吗? 最佳答案 正如评论中已经指出的那样,这仅取决于您的用例。两者之间的主要区

c++ - std::condition_variable::wait with predicate

在std::condition_variable的文档中,有一个以谓词函数作为参数的wait()重载。该函数将等到谓词函数为真的第一个wake_up。在documentation据说这等同于:while(!pred()){wait(lock);}还有:Thisoverloadmaybeusedtoignorespuriousawakeningswhilewaitingforaspecificconditiontobecometrue.Notethatbeforeentertothismethodlockmustbeacquired,afterwait(lock)exitsitisals

c++ - 为什么没有为所有变量报告 "unused variable"警告?

这个问题在这里已经有了答案:g++doesnotshowa'unused'warning(3个答案)关闭8年前。我有这个代码://initializerlists#include#includeintmain(){intvalues[]{1,2,3};std::vectorv{4,5,6};std::vectorcities{"London","NewYork","Paris","Tokio"};return0;}然而,gcc编译器只针对values数组给我unusedvariable警告。为什么v和cities没有被报告?

c++ - 扭曲的逻辑 : a global variable in one file refers to an extern variable but is also referred by that extern variable

文件A.cpp:#includeexternintiA;externintiB=iA;intmain(){std::cout文件B.cppexternintiB;externintiA=2*iB;编译链接运行,out进来debug和release模式是0,0我的问题是它是如何工作的,为什么在链接阶段没有问题?我正在使用VC++2003。 最佳答案 初始化程序覆盖了extern关键字,因此这没有什么“神奇”:您只是在不同的翻译单元中声明和定义两个完全不相关的变量。来自StandardforProgrammingLanguageC++-

c++ - std::condition_variables 可以用作计数信号量吗?

这是CanC++11condition_variablesbeusedtosynchronizeprocesses?的后续行动.std::condition_variable对象可以用作计数信号量吗?我认为不是因为对象似乎绑定(bind)到std::mutex,这意味着它只能用作二进制信号量。我在网上看过,包括here,here,和here,但找不到将这些对象用作计数信号量的引用或示例。 最佳答案 是的。structcounting_sem{counting_sem(std::ptrdiff_tinit=0):count(init)