草庐IT

vec_bool

全部标签

c++ - 如何将 bool 转换为 BOOL?

我通过这种构造将C++boolean值转换为WindowsAPIboolean值是否安全boolmybool=true;BOOLapiboolean=mybool?TRUE:FALSE;我认为这是肯定的,因为我没有看到任何明显的问题,但我想花点时间问一下,只是因为这可能比看起来更微妙。感谢Dima(温和地)指出我在最初提出问题时的粗心。 最佳答案 你是说boolb;...BOOLapiboolean=b?TRUE:FALSE;如果是这样,那么是的,这会起作用。 关于c++-如何将bool

c++ - 如何从顶点着色器中的 vec3 获取值? OpenGL 3.3

我有以下顶点着色器:#version330layout(location=0)invec3Position;uniformmat4gWVP;outvec4Color;voidmain(){gl_Position=gWVP*vec4(Position,1.0);};例如,我怎样才能得到vec3的第三个值?我的第一个想法是:“也许我可以通过将这个vector(位置)乘以某个东西来得到它?”但我不确定是否存在“垂直vector类型”之类的东西。那么,最好的方法是什么?我需要这个值来设置像素的颜色。 最佳答案 至少有4个选项:您可以使用组件

c++ - 保留两个具有相反值的 bool 类成员

我计划有两个bool类成员(m_alive&m_dead),这样它们的值总是相反的。这可能看起来有些愚蠢(事实上,它可能只是愚蠢),但正如您在下面的代码中看到的那样,但我真正寻找的是有一种更清晰的方法来根据情况检查对象状态,并且它不必键入!m_alive或!m_dead会很有用。所以,是的,我真的不需要两个成员,但我想不出更简单的方法。我想到的第一个想法是创建一个函数,如果另一个状态也发生变化,它会改变其中一个状态,但我很确定需要有一种更简单、更容易和更快的方式来保持每个都有正确的值。AFAIK,用define做这件事是不可能的,因为它们的数量与我计划创建的不同对象一样多,而且看起来不

c++ - 为什么这个程序不输出 bool 值?

这个问题在这里已经有了答案:Theoutputofcout(1个回答)关闭4年前。#includeusingnamespacestd;intmain(){inta=8;cout为什么这个程序输出8而不是1(对于true)?

c++ - 使用 stringstream 输入/输出一个 bool 值

这似乎是一个愚蠢的问题,但我被难住了。这是我的代码:intmain(){stringline,command;getline(cin,line);stringstreamlineStream(line);boolactive;lineStream>>active;cout无论我为事件输入什么,它总是打印出0。所以假设我的输入是true它会输出0和同样的东西为false。 最佳答案 您应该始终验证您的输入是否成功:您会发现它不是。您想在当前设置下尝试值1:if(lineStream>>active){std::cout如果你想能够输入

c++ - for 循环中始终为 false 的 bool 条件是否得到优化?

我有以下情况booluser_set_flag;getFlagFromUser(&user_set_flag);while(1){if(user_set_flag){//dosomecomputationandoutput}//doothercomputation}变量user_set_flag只设置一次,而且在代码中只设置一次,在一开始,本质上是用户选择他想对程序做什么。假设用户选择了user_set_flag=false那么编译器将以这样的方式编译代码使得if(user_set_flag)语句将只被检查一次,或者它会总是被检查。我可以给编译器提示,比如将bool设置为const吗?

c++ - 从 Nvidia PTX 访问 bool (C++11) 数组的可移植方法

我需要对boolean数组进行GPU计算bool[](注意,不是std::vector)它是在CPU内存中创建的(使用C++11代码),然后通过cuMemCpy复制到GPU或类似的。第一个问题:sizeof(bool)报告1个字节。这是C++11标准保证的吗?第二个问题:是true(false)始终表示为1(0)(在unsignedchar表示中)还是编译器在这里有自由?(如果需要,它可以使用任何小于256的非零整数)第三个问题(特定于PTX):在PTX逻辑运算中or,xor等仅对大于8位的类型进行操作。那就是我可以对unsignedint进行逻辑运算与or.u32,,.但是自从C++

c++ - 我可以在导出到 c 的 c++ 函数中使用 `bool` 类型或不透明指针指向类吗?

我正在为我正在编写的库开发API。库本身将用c++编写,但API将使用extern"C"导出以获得最佳的跨语言兼容性(稍后我将使用此API来自C#、C++,也许是C和其他一些)。显然,API不能包含整个类或其他c++特定功能(如抛出异常),但我的问题是:我可以在导出的API中使用bool类型吗?毕竟,这是一个POD。我可以使用不透明的类指针吗?如果是这样,我将如何在头文件中声明它们,以便可以从C代码中使用头文件? 最佳答案 Bool应该没问题,ABI和语言设计者对这些事情很小心(例如,C++中的complex和C中的complexd

c++ - bool 自动转换为 nullptr_t

我有以下带有自定义Variant类和自定义SmartPtr类的代码:usingnamespacestd;classObject{public:};templateclassSmartPtr{public:templateexplicitSmartPtr(Y*p){p_=p;}SmartPtr(std::nullptr_t){p_=nullptr;}private:T*p_;};classVariant{public:Variant(boolb):_b(b){}private:bool_b;};classObj{public:voidtest(SmartPtr/*p*/){coutcom

c++ - 将 bool R vector 传递给 C dynamic_bitset

将Rboolvector传递给C++dynamic_bitsetvector的最佳方法是什么?有没有一种方法可以使用指针和vector长度来构造一个dynamic_bitset对象,就像vector类一样?您会推荐使用Rcpp吗?感谢您的帮助和时间... 最佳答案 我只想创建dynamic_bitset像这样:#include#includeusingnamespaceRcpp;//[[Rcpp::export]]voidcreate_dynamic_bitset(LogicalVectorx){intn=x.size();boos