草庐IT

always_false

全部标签

c++ - string.find() 在使用 ==-1 时返回 true,而在使用 <0 时返回 false

我试图在字符串中查找字符,但得到了意想不到的结果。我的理解是string::find(charc)找不到时返回-1。但是,我得到了一些意想不到的结果。即使字符串不包含'8',它仍然返回true。std::strings="123456799";if(s.find('8')但是,当使用==时,代码会按预期工作。std::strings="123456799";if(s.find('8')==-1)cout 最佳答案 Myunderstandingisthatstring::find(charc)returns-1whenitisnot

c++ - 在 C 和 C++ 中为 NULL/false 大于 0x0/0b0/'\0'/0

这个问题在这里已经有了答案:WhatisthedifferencebetweenNULL,'\0'and0?(11个答案)关闭9年前。如问题中所述,我一直在将NULL和false(在C++中)与0或0x0等互换使用。我很好奇,除了作为0的同义词之外,它们是否具有任何特殊含义。

c++ - 为什么在取消引用的函数指针上使用时 std::is_function 的计算结果为 false?

我正在尝试使用std::is_function来确定变量是否为函数指针。运行以下代码时#include#includeusingnamespacestd;intmain(){typedefint(*functionpointer)();functionpointerpmain=main;cout::value::value::value::value输出是PFivE0PFivE0FivE1FivE0任何有见识的人都可以解释为什么std::is_function的最后一个表达式的计算结果为false吗?(代码在g++4.7、g++4.8和clang++3.2下测试)

c++ - 将 defined(X) 返回为 true 或 false 的宏

我想要一系列宏来替换下面的代码#ifdefFOOreturntrue;#elsereturnfalse;#endif用类似的东西returnMAGICLY_EXPANDING_IFDEFINED_MACRO(FOO);您可以猜到,有很多FOO,足以将4行缩减为1行会很酷。但实际上它会用一行替换一个怪物switch语句。 最佳答案 在C++中,defined的行为仅针对条件包含(#if和#elif)指定。所以你不能以任何其他方式使用它。(相关规则见标准16.1节)但是,如果你想检测具体是#define到空字符串的宏,你不需要defin

jQuery Bootgrid-带有data -visible =“ false”的隐藏列从dom中删除

使用BootGrid,您可以在列定义中使用data-visible=“false”隐藏列。这会产生一个问题,因为它不仅隐藏了列,还可以将其从DOM中删除。列(前两个不显示)IDUserTitleDescriptionExpireCommands问题将ID和用户设置为Data-visible=“false”它们的值无法访问。使用data-visible=“false”似乎使这些字段完全不存在。我需要能够访问这些值。看答案有两个数据参数:header-css类和CSS类,在我阅读的文档中没有很好地解释其用法。我设置了两个带有显示的类:无,我将其命名为“hidecolhead”和hidecol。然后

c++ - 如何处理 std::find_if() 返回 false?

以下示例取自thecplusplus.comreferencepage并更改为返回false://find_ifexample#include//std::cout#include//std::find_if#include//std::vectorboolIsOdd(inti){return((i%2)==1);}intmain(){std::vectormyvector;myvector.push_back(10);myvector.push_back(20);myvector.push_back(40);myvector.push_back(50);std::vector::it

c++ - boost::call_traits - 为什么 gcc 为此给出 false?

示例:#include#include#includeboost::call_traits::param_typef(){return1;}intmain(){std::cout::param_type>::value::value问题:除非我做错了什么,我想我应该为两者都得到true,但是gcc4.7.0为后者输出false。有什么我想念的吗? 最佳答案 非类类型的右值永远不是const限定的。只有类类型的右值可以是const限定的。因此,即使函数f被声明为返回一个constint,即使函数f的类型是constint(),调用表达

C++ rapidjson:GenericValue::IsNull 在任何情况下都返回 false

在检测到我们项目中的一个神秘问题后,我仍然感到震惊。我们意识到调用HasMember("string")正在执行额外的查找。因此,出于性能原因,我们对其进行了更改。主要思想是:而不是调用HasMember然后像这样预缓存引用:rapidjson::Documentd;d.Parse(json);if(d.HasMember("foo")){constrapidjson::Value&fooValue=d["foo"];//dosomethingwithfooValue}更改为:rapidjson::Documentd;d.Parse(json);constrapidjson::Valu

c++ - 派生类中的析构函数标记为 noexcept(false)

有如下代码:classMember{public:~Member()noexcept(false){}};classA{public:virtual~A(){}};classB:publicA{public:Memberm;};错误是:main.cpp:13:7:error:looserthrowspecifierfor‘virtualB::~B()noexcept(false)’classB:publicA^main.cpp:10:11:error:overriding‘virtualA::~A()noexcept’virtual~A(){}^为什么B类中的析构函数被标记为noexc

c++ - isalpha(<mychar>) == true 计算结果为 false?

stringtemp等于来self的调试器的“ZERO:\t.WORD\t1”。(我文件的第一行)stringtemp=RemoveWhiteSpace(data);inti=0;if(temp.length()>0&&isalpha(temp[0]))cout0&&isalpha(temp[0])==true)cout这是我的代码,用于检查temp的第一个字符是否为a-z、A-Z。第一个if语句将评估为true,第二个if语句将评估为false。为什么?!?!?!即使没有“temp.length()>0&&”,我也试过了,它仍然评估为false。它只是讨厌“==true”。我唯一能想