草庐IT

vec_bool

全部标签

c++ - 是 !!在 C++ 中转换为 bool 的安全方法?

[此问题与thisone相关但不相同。.]如果我尝试使用某些类型的值作为boolean表达式,我会收到警告。有时我不会抑制警告,而是使用三元运算符(?:)将其转换为boolean值。使用两个非运算符(!!)似乎做同样的事情。这就是我的意思:typedeflongT;//similarwarningwithvoid*ordoubleTt=0;boolb=t;//performancewarning:forcing'long'valueto'bool'b=t?true:false;//okb=!!t;//anydifferent?那么,双重非技术真的做同样的事情吗?它比三元技术更安全还是更

c++ - 为什么将指针转换为 bool 时会出现性能警告?

这个问题延伸到Whyuse!!whenconvertinginttobool?.当我做这样的事情时,我觉得我很酷:boolhasParent(){returnthis->parentNode;}当没有父节点时,this->parentNode为NULL。但我得到了:warningC4800:'Node*':forcingvaluetobool'true'or'false'(performancewarning)即使使用(bool)强制转换,警告仍然不会消失。怎么了,哟?为什么这是性能警告?我认为写这样的东西效率会降低:boolhasParent(){if(this->parentNod

c++ - std::is_unsigned<bool>::value 定义是否明确?

我想知道是否std::is_unsigned::value是否按照标准定义好?我问这个问题是因为typenamestd::make_unsigned::type没有很好的定义。 最佳答案 bool没有签名的概念.来自[basic.fundamental]/6:Valuesoftypeboolareeithertrueoffalse.[Note:Therearenosigned,unsigned,short,orlongbooltypesorvalues.—endnote]Valuesoftypeboolparticipateinin

c++ - 'bool' 是 C++ 中的基本数据类型吗?

我在编写一些代码时遇到了这个疑问。'bool'是C++标准中定义的基本数据类型,还是编译器提供的某种扩展?我有这个疑问是因为Win32有'BOOL'这不过是long的typedef。如果我这样做会发生什么:inti=true;“总是”保证变量i的值为1还是再次取决于我使用的编译器?此外,对于一些接受BOOL作为参数的Win32API,如果我传递bool变量会发生什么? 最佳答案 bool是C++中的基本数据类型。将true转换为整数类型将产生1,而将false转换将产生0(4.5/4和4.7/4)。在C中,直到C99,没有bool数

c++ - bool 运算符可以与预处理器一起使用吗?

我想知道是否可以使用预处理器OR或AND语句?我想在_DEBUG或_UNIT_TEST标签下运行此代码(?)。我想要的是如下内容:#if_DEBUG||_UNIT_TEST//Codehere#endif如果这是不可能的,是否有一种解决方法来实现相同的事情而不必使用#elseif复制代码? 最佳答案 #ifdefined_DEBUG||defined_UNIT_TEST//Codehere#endif您也可以使用AND和NOT运算符。例如:#if!defined_DEBUG&&defined_UNIT_TEST//Codehere#

types - 有没有办法将整数转换为 bool 值,反之亦然?

有没有一种内置方法可以将bool转换为整数,反之亦然?我尝试过正常的转换,但由于它们使用不同的底层类型,转换不可能是经典的方式。我倒了一些规范,但我还没有找到答案。 最佳答案 Inttobool很简单,只需x!=0就可以了。反过来,由于Go不支持三元运算符,你必须这样做:varxintifb{x=1}else{x=0}你当然可以把它放在一个函数中:funcBtoi(bbool)int{ifb{return1}return0}整数有很多可能的bool解释,但它们都不一定是自然的,所以不得不说出你的意思是有道理的。根据我的经验(YMMV

JSON golang bool 省略

我在为api编写golang库时遇到问题。bool值的json方面导致了问题。假设对于api调用,bool值的默认值为true。如果我这样做了SomeValuebool`json:some_value,omitempty`并且我没有通过库设置值,该值将设置为true。如果我在库中将该值设置为false,则omitempty表示false值为空值,因此该值将通过api调用保持为true。让我们去掉省略号,让它看起来像这样SomeValuebool`json:some_value`现在我遇到了相反的问题,我可以将值设置为false,但如果我不设置该值,那么即使我希望它为true,该值也会为

iOS NSDictionary 值确定 bool 值是否来自 JSON bool 值

我有一个来自Web服务器的JSON响应,如下所示:{"success":true,"token":"123456"}我想在if语句中使用它,并将其与“YES”进行比较。但是,这样做是行不通的:NSDictionary*response=[responseJSONValue];//theJSONvaluefromwebserviceresponse,convertedtoNSDictionaryif([responseobjectForKey:@"success"]){}//doesnotworkif([responseobjectForKey:@"success"]==YES){}//

python - 如何计算 NumPy bool 数组中真实元素的数量

我有一个boolean类型的NumPy数组“boolarr”。我想计算值为True的元素的数量。是否有专门用于此任务的NumPy或Python例程?或者,我是否需要遍历脚本中的元素? 最佳答案 您有多种选择。以下是两个选项。boolarr.sum()numpy.count_nonzero(boolarr)这是一个例子:>>>importnumpyasnp>>>boolarr=np.array([[0,0,1],[1,0,1],[1,0,1]],dtype=np.bool)>>>boolarrarray([[False,False,T

c++ - 为什么 std::optional<int> 的构造比 std::pair<int, bool> 更昂贵?

考虑这两种可以表示“可选int”的方法:usingstd_optional_int=std::optional;usingmy_optional_int=std::pair;鉴于这两个功能...autoget_std_optional_int()->std_optional_int{return{42};}autoget_my_optional()->my_optional_int{return{42,true};}...g++trunk和clang++trunk(带有-std=c++17-Ofast-fno-exceptions-fno-rtti)生成以下程序集:get_std_op