C++ c++;添加两个bool数组
我有一个作为布尔数组的数字,但我需要做算术运算,比如加法和减法,以及逻辑运算,比如C++ c++;添加两个bool数组,c++,boolean,C++,Boolean,我有一个作为布尔数组的数字,但我需要做算术运算,比如加法和减法,以及逻辑运算,比如和,还有其他类似的数字。如何在C++中执行这些操作,而不需要处理所有布尔特定的计算,并且简单地进行操作。 例如: bool a[10]; bool b[10]; bool c[10]; c = a + b; 你可以用 #包括 std::位集a(4); std::位集b(“0000001000”); std::位集c=a.to_ulong()+b.to_ulong(); //等等。 //你也可以使用 a[0]=4
和
,还有其他类似的数字。如何在C++中执行这些操作,而不需要处理所有布尔特定的计算,并且简单地进行操作。
例如:
bool a[10];
bool b[10];
bool c[10];
c = a + b;
你可以用
#包括
std::位集a(4);
std::位集b(“0000001000”);
std::位集c=a.to_ulong()+b.to_ulong();
//等等。
//你也可以使用
a[0]=4;a[1]=5//初始化/访问
可以对来自两个容器的成对元素执行二进制操作,并将结果放入第三个容器中。您可以使用和来获得所需的结果:
transform(a, a+10,
b, b+10,
c, logical_and<bool>());
transform(a, a+10,
b, b+10,
c, logical_or<bool>());
变换(a,a+10,
b、 b+10,
c、 逻辑_和();
变换(a,a+10,
b、 b+10,
c、 逻辑_或();
我认为如果不这样做,您将无法做到这一点。。。我不认为这是已经实现的。如何在C++中进行这些操作,而不需要处理所有的布尔特定的计算,并且简单地做,你可以。好的,在我们使用它时,他可以使用<代码> int <代码>。
transform(a, a+10,
b, b+10,
c, logical_and<bool>());
transform(a, a+10,
b, b+10,
c, logical_or<bool>());