此类型和函数是否有现有名称?

在计算机科学中,有两个难题: 缓存失效、命名和逐个错误。 这是关于命名事物的第2 个问题。 我正在寻找这种技术或类型是否已经在其他地方使用,并且有名称。二分法是个不错的名字,但是Bools_at_compile_time是一个可怕的。 使用 dicho_ t = std:: 变体; //(或从中继承的结构,并重载运算符 bool ()) Constexpr dichotomy_t 二分法 (布尔 b) { 如果 (b) 返回 std:: true_type {}; 返回 std:: false _ type {}; } 模板 Constexpr 自动 bools_at_compile_time (F & f,Bools... bools) { Static_ assert ((std:: is_same {} & &..); 返回 std:: 访问 (std:: 向前 (f),二分法 (bools).); } Dichotomy_t是真假之间的变体。它的运行时表示是0或者1. 这让你做的是: _ Auto func = [&] (auto x,auto y) { 返回一些 _ 模板 ();/< ……

共5个回答, 标签: c++ boolean c++17 variant
将位与布尔值进行比较

看似简单的问题: 说我有一组标志,编码在一个 uint16_tflags. For example, AMAZING_FLAG = 0x02 。现在,我有一个功能。这个函数需要检查我是否想改变标志,因为如果我想这样做,我需要写入 flash。这是昂贵的。因此,我想要一个检查,它告诉我标志 & AMAZING_FLAG 是否 “等于” doSet。这是第一个想法: SetAmazingFlag (bool doSet) { 如果 ((标志 & AMAZING_FLAG)!= (doSet?AMAZING_FLAG: 0)) { //真的很贵的东西 //更新标志 } } 现在我有一个很难阅读的 if 语句。我觉得应该有更好的方法,比如 如果 ((标志 & AMAZING_FLAG)!= doSet) { } 但这实际上并不起作用,true似乎等于 0x01。 所以,有没有一个整洁的方法来比较一个布尔? ……

共4个回答,已解决, 标签: c gcc boolean bitwise-operators
在 bool 中设置额外的位使得它同时为 true 和 false

如果我得到一个布尔变量,并将其第二位设置为 1,然后变量同时计算为 true 和 false。使用-g 选项 (gcc-v6.3.0/Linux/RHEL6.0-2016-x86 _ 64/bin/g-g main.cpp-o mytest _ d) 编译以下代码并运行可执行文件。你得到下面的。 如何不能同时等于真与假? 值位 --- --- T: 1 0001 位更改后 T: 3 0011 T 是真的 T 是假的 当你用不同的语言调用一个函数时,这种情况可能会发生,其中 true 和 false 定义不同于 C。对于 fortran 来说,如果任何位不是 0,则值为 true,如果所有位都是 0,则值为 false。 # 包括 # 包括 使用命名空间 std; Void set _ bit _ to _ 1 (void * val) { Char * x = static_ cast (val); 对于 (int i = 0; i <2; i) { * X | = (1UL <<i); } } Int main (int argc,char * argv [)) { Bool T = 3 ……

共2个回答, 标签: c++ boolean undefined-behavior evaluation abi
数组中传递布尔求值结果的语法?

我不确定这是一个以角度为中心的问题还是一个简单的旧 JS 语法问题。很明显,我有点生疏了,因为这个问题很愚蠢,但是. 我试图在我的角度模板中将 if/then 语句的结果作为数组变量传递。示例: 问题是,我想传递一些逻辑的结果,而不是传递布尔 “true”,所以看起来是这样的: 这可以直接在数组中完成吗? ……

共1个回答, 标签: javascript arrays angular boolean
If 条件命名约定

我有一个布尔函数,检查 scandata 键是否有效。我把它命名为: AreScandataKeysValid () 对于命名约定,它应该被命名为 isScandataDataKeysValid () 还是像我上面做的那样?。在干净的代码手册中,我只看到了一些例子是 版本。所以,我很困惑哪一个有意义?语法上,"是“Sure 肯定的。 ……

共0个回答, 标签: java boolean coding-style naming-conventions