草庐IT

vec_bool

全部标签

c++ - ifstream.good() 和 bool(ifstream) 的区别

我正在编写一个程序,它从一个文本文件中获取多个变量。当程序发现EOF时,它结束输入数据。intmain(){intval,count=0;ifstreamfileIn;fileIn.open("num.txt");fileIn>>val;while(fileIn){++count;cout>val;}coutnum.txt文件:11223344程序输出:number:11number:22number:33number:44count:4一切正常。但是,如果我将while条件部分从fileIn更改为fileIn.good(),程序输出将如下所示:number:11number:22nu

c++ - 如何使用 bool 模板参数启用成员函数?

我希望一个类有两种不同的push实现,并根据bool模板参数进行选择。我尝试使用thisanswer中描述的SFINAE原理,像这样:templateclassBar{templatetypenamestd::enable_if::typepush(constT&value){/*oneimplementation*/}templatetypenamestd::enable_if::typepush(constT&value){/*anotherimplementation*/}}但是,我在gcc下收到“无法在类范围内特化函数push”的错误,我不明白为什么。尽管我的代码与链接答案中的

c++ - 使用 const bool 引用进行后台任务取消跟踪? (C++)

我有一个桌面应用程序,当用户请求时,某些计算在后台线程中运行。有一个取消按钮。我知道向后台任务发出取消信号的“安全”或“正确”方式(使用Qt信号/槽连接、后台任务轮询的互斥体包装bool值等)。然而,在我看来最简单的事情是在我的主线程类中有一个boolcancelled,它在按下Cancel按钮时同步设置,并传递一个constbool&cancelled到它轮询的后台线程。这种方法是否有任何现实的方法会适得其反? 最佳答案 线程可以在不同的处理器上运行,每个处理器都有自己的缓存。如果bool值是原子的,你可以这样做。否则,您可能会面

c++ - Bool 方法返回错误值

我为链表哈希表创建了一个boolcontains(string)方法,它检查一个值是否在哈希中。我使用辅助函数进行递归,但是当辅助函数返回false时,boolcontains(string)仍然返回true。我通过调试器运行它,我可以清楚地看到它返回false,我不确定为什么。这是当前正在搜索的节点:"laccoliths"->"morbiferous"->"oculi"->"unsabbarded"我要搜索的值是"typung"。代码如下:boolcontains_h(stringx,node*p)//helpermethod{if(p==NULL)returnfalse;else

c++ - 有没有标准的方法来替换 C 风格的 bool 数组?

在这段代码中voidlegacyFunction(intlength,bool*bitset){//stuff,lotsofstuff}intmain(){intsomenumber=6;//somenumberissettosomevalueherebool*isBitXSet=newbool[somenumber];//initialisationofisBitXSet.legacyFunction(somenumber,isBitXSet);delete[]isBitXSet;return0;}我想替换bool*isBitXSet=newbool[somenumber];通过类似

c++ - 在 set<int> 与 vector<bool> 与 vector<boolean_t> 之间进行选择以用作位图(位集/位数组)

给定一系列索引(标识符),我想将每个索引映射到一个bool值,即://interfacepseudocodeinterfacebitmap{boolidentifier_is_set(unsignedintid_idx)const;voidset_identifier(unsignedintid_idx,boolval)const;};这样我就可以设置和查询每个ID(索引)是否已设置,您更喜欢用什么来实现它?我认为这叫做位数组或位图或位集,如果我错了请纠正我。假设最大标识符是预先确定的并且不大于1e6(1m),可能更小(10k-100k)。(这意味着sizeof(int)*maximu

c++ - clang 不知道 std::atomic_bool,但 XCode 知道

我正在尝试编译声明std::atomic_bool类型变量的C++11代码。这是在带有clang的MacOS10.8.2上:clang--versionAppleclangversion4.1(tags/Apple/clang-421.11.66)(basedonLLVM3.1svn)Target:x86_64-apple-darwin12.2.0Threadmodel:posixclang提示std::atomic_bool:clang++-c-stdlib=libc++-msse4-std=c++11-Wno-unused-parameter-I.-oquery.oquery.cp

c++ - 无法从 'FARPROC' 转换为 'BOOL (__cdecl *)(LPMEMORYSTATUSEX)'

BOOL(WINAPI*gmse)(LPMEMORYSTATUSEX)=GetProcAddress(kernel32,"GlobalMemoryStatusEx");这是一个.cpp文件。编译上述代码时出现以下错误。errorC2440:'initializing':cannotconvertfrom'FARPROC'to'BOOL(__cdecl*)(LPMEMORYSTATUSEX)'Thisconversionrequiresareinterpret_cast,aC-stylecastorfunction-stylecast我似乎无法弄清楚我应该将GetProcAddress函

c++ - 使用 QDataStream 的 Qt 序列化 bool 值

我在尝试序列化我的自定义类时遇到错误。我正在使用QDataStream运算符>来写入和读取我的对象。当我尝试写入或读取bool值时发生错误:error:ambiguousoverloadfor'operatorQDataStream&operatorQDataStream&operator>>(QDataStream&in,sys_settings&Value){in>>Value.myBool;in>>Value.someStringreturnin;} 最佳答案 您很可能没有包含相关标题。如果不包含QDataStream,我可以

c++ - 在预处理器条件中使用 bool 文字是否有效?

考虑以下代码,它导致bool文字true在预处理器条件中被评估:#defineSOME_MACROtrueintmain(){#ifSOME_MACROreturn1;#elsereturn0;#endif}Clang3.4和GCC4.8都接受此代码,即使使用-pedantic-std=c++11-Wall-Wextra。VisualStudio2013以fatalerrorC1017:invalidintegerconstantexpression拒绝它.我对n3376的阅读§16.1是应该应用评估常量表达式的常规C++规则。如果是这样,这段代码是有效的,如果MSVC不接受它,它就是