草庐IT

boolean_scope

全部标签

c++ - 哪个值更好用? boolean 真还是整数 1?

这有意义吗? 最佳答案 booleantrue是一个boolean值。当你想表达满足某个二元条件时使用它。整数文字1是一个数字。每当您计算某些东西时,请使用它。不要将整数用于boolean值,反之亦然。它们不一样。考虑一个变量intisEnabled。当然,我可以猜测0和1可能是该变量的唯一预期值。但在语言方面,没有什么能阻止我分配4247891。但是,使用boolean值会将有效值限制为true和false。这没有任何猜测的余地。(C++int和bool在某种程度上是可转换的,但通常不被接受)

c++ - 运算符 |= 用于 C++ 中的 boolean 值

我偶然发现了以下C++结构:boolresult=false;for(inti=0;i我认为这个|=是OR运算符的快捷方式,并且result最终将等于true如果至少这些对TryAndDoSomething的调用之一返回了true。但现在我想知道是否多个调用实际上可以返回true。事实上,如果我们将操作扩展为:result=result||TryAndDoSomething(i);那么只有当return评估为false时才会调用该方法,也就是说,如果在返回true之前没有其他调用。因此,在一个调用返回true后,将不再进行其他调用。这是正确的解释吗? 最佳答

c++ - 运算符 |= 用于 C++ 中的 boolean 值

我偶然发现了以下C++结构:boolresult=false;for(inti=0;i我认为这个|=是OR运算符的快捷方式,并且result最终将等于true如果至少这些对TryAndDoSomething的调用之一返回了true。但现在我想知道是否多个调用实际上可以返回true。事实上,如果我们将操作扩展为:result=result||TryAndDoSomething(i);那么只有当return评估为false时才会调用该方法,也就是说,如果在返回true之前没有其他调用。因此,在一个调用返回true后,将不再进行其他调用。这是正确的解释吗? 最佳答

c++ - 带有 boolean 参数的模板

我需要用bool参数实现模板。如果bool=true,我们需要使用列表容器,否则我们需要使用vector容器。template我该怎么做? 最佳答案 您至少有三种方法可以做到这一点。我。使用std::conditional:templatestructA{typenamestd::conditional,std::vector>::typecontainer;};二。使用templatespecialization对于bool参数templatestructA;templatestructA{std::listcontainer;}

c++ - 带有 boolean 参数的模板

我需要用bool参数实现模板。如果bool=true,我们需要使用列表容器,否则我们需要使用vector容器。template我该怎么做? 最佳答案 您至少有三种方法可以做到这一点。我。使用std::conditional:templatestructA{typenamestd::conditional,std::vector>::typecontainer;};二。使用templatespecialization对于bool参数templatestructA;templatestructA{std::listcontainer;}

c++ - C++中未设置的 boolean 值的默认值?

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:WhyisaC++boolvartruebydefault?假设我要做这样的事情:classblah{public:boolexampleVar;};blahexampleArray[4];exampleArray[1].exampleVar=true;在exampleArray中,现在有3个未设置的exampleVar实例,如果我没有设置它们,它们的默认值是多少? 最佳答案 默认值取决于声明exampleArray的范围。如果它是函数的本地值,则值将是随

c++ - C++中未设置的 boolean 值的默认值?

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:WhyisaC++boolvartruebydefault?假设我要做这样的事情:classblah{public:boolexampleVar;};blahexampleArray[4];exampleArray[1].exampleVar=true;在exampleArray中,现在有3个未设置的exampleVar实例,如果我没有设置它们,它们的默认值是多少? 最佳答案 默认值取决于声明exampleArray的范围。如果它是函数的本地值,则值将是随

c++ - g++ 错误 : ‘malloc’ was not declared in this scope

我在Fedora下使用g++编译一个openGL项目,代码如下:textureImage=(GLubyte**)malloc(sizeof(GLubyte*)*RESOURCE_LENGTH);编译时,g++错误提示:error:‘malloc’wasnotdeclaredinthisscope添加#include无法修复错误。我的g++版本是:g++(GCC)4.4.520101112(RedHat4.4.5-2) 最佳答案 您应该使用new在C++代码中,而不是malloc所以它变成了newGLubyte*[RESOURCE_L

c++ - g++ 错误 : ‘malloc’ was not declared in this scope

我在Fedora下使用g++编译一个openGL项目,代码如下:textureImage=(GLubyte**)malloc(sizeof(GLubyte*)*RESOURCE_LENGTH);编译时,g++错误提示:error:‘malloc’wasnotdeclaredinthisscope添加#include无法修复错误。我的g++版本是:g++(GCC)4.4.520101112(RedHat4.4.5-2) 最佳答案 您应该使用new在C++代码中,而不是malloc所以它变成了newGLubyte*[RESOURCE_L

c++ - 关于 C++ 运算符 "address of"和 "scope resolution"优先级的问题

您好,我的代码存在编译器错误(错误来自MicrosoftVisualStudio2008):classB{protected:intb;};classA:publicB{public:voidfoo(){&B::b;}//errorC2248:'B::b':cannotaccessprotectedmemberdeclaredinclass'B'};虽然这段代码没有错误:classB{protected:intb;};classA:publicB{public:voidfoo(){&(B::b);}};根据我对运算符优先级的了解,这两个片段在我看来是等效的,因为::的优先级高于&(例如