if (shot1[i][j] == shot2[j][k])写法对吗,两个都是布尔向量
时间: 2023-09-20 15:10:02 浏览: 35
这个写法是错误的。因为 `shot1[i][j]` 和 `shot2[j][k]` 都是布尔向量,不能直接比较两个布尔向量。
如果你想比较 `shot1` 中第 `i` 行第 `j` 个元素和 `shot2` 中第 `j` 行第 `k` 个元素是否相等,可以这样写:
```python
if shot1[i, j] == shot2[j, k]:
# do something
```
其中 `shot1[i, j]` 表示 `shot1` 中第 `i` 行第 `j` 列的元素,`shot2[j, k]` 表示 `shot2` 中第 `j` 行第 `k` 列的元素。注意这里使用的是逗号 `,` 而不是方括号 `[]`。
相关问题
pcl::SHOT352 descriptor1 = shot1->at(i); pcl::SHOT352 descriptor2 = shot2->at(i);如何对两个二进制数进行异或操作
由于`pcl::SHOT352`是由多个`uint32_t`类型的数据组成的,因此需要先将两个`pcl::SHOT352`类型的变量中对应的`uint32_t`类型数据分别进行异或操作,然后将结果存储到一个新的`pcl::SHOT352`类型变量中。可以使用循环遍历每个`uint32_t`类型数据,然后对其进行异或操作,例如:
```
pcl::SHOT352 descriptor1 = shot1->at(i);
pcl::SHOT352 descriptor2 = shot2->at(i);
pcl::SHOT352 diff;
for(int j = 0; j < 11; j++) // 11是352位二进制数中uint32_t类型数据的数量
{
diff.histogram[j] = descriptor1.histogram[j] ^ descriptor2.histogram[j];
}
```
在上面的代码中,`diff`是一个新的`pcl::SHOT352`类型的变量,`j`是循环变量,遍历每个`uint32_t`类型数据的下标。`^`是按位异或操作符,将`descriptor1.histogram[j]`和`descriptor2.histogram[j]`对应的`uint32_t`类型数据进行异或操作,将结果存储到`diff.histogram[j]`中。最终,`diff`中就存储了`descriptor1`和`descriptor2`两个二进制数的按位异或结果。
std::vector<bool>shot; for(int j = 0; j < 5; j++) shot[j]=1
这段代码有一个错误,因为 `std::vector<bool>` 是一个特化的容器类。它使用了位压缩技术,每个元素只占用 1 位空间。因此,你不能直接通过 `(int)` 或 `[]` 运算符来访问其中的元素。
如果你想要创建一个长度为 5 的 `std::vector<bool>`,并将其所有元素设置为 1,可以这样写:
```cpp
std::vector<bool> shot(5, true);
```
这里使用了 `std::vector` 的构造函数,第一个参数是容器的大小,第二个参数是每个元素的初始值。在这个例子中,容器的大小为 5,每个元素的初始值为 `true`。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)