计算向量的std ::映射为键的值,并将双倍作为值
Computing the values of a std::map of vector as the key and double as the value?
std::map<std::vector<double>, double> MyMethod(std::map<std::vector<double>, double> mappingSourceToTarget, int radius)
{
std::map<std::vector<double>, double> mappingSourceToTargetNew(mappingSourceToTarget);
std::map<std::vector<double>, double>::iterator it_trgt,it_src;
double sumOfNormals1 = 0;
int size = mappingSourceToTarget.size(), i=0;
for (it_src = mappingSourceToTarget.begin(), it_trgt = mappingSourceToTargetNew.begin(); i < size + (radius * 2) ; i++, it_src, it_trgt++)
{
auto elem = mappingSourceToTargetNew;
if (i == 0)
{
//it_trgt->first.at(i % size) = it_src->first.at(i%size);
mappingSourceToTargetNew.at(i % size) = mappingSourceToTarget.at(i % size);
sumOfNormals1 += mappingSourceToTarget.at(i % size);
在这里,我遇到了麻烦,如何将值从一个地图放到另一个地图上。
我正在使用圆形阵列的概念,因此在这里使用I%尺寸,向量是坐标,而双重是该点的强度值。
索引的事情与.at((不使用,我真的不知道该怎么做
我必须仅使用地图(任务(使其正常工作。
以索引(i%size(
1(使用迭代器读取键值,即使用第一/秒。
2(当迭代器到达末端时,将其设置为begin((。它将像i % size
这是一些示例代码,可以显示以下想法:
#include <iostream>
#include <map>
int main() {
std::map<int, int> m {{1, 100}, {2, 200}};
auto s = m.size();
std::cout << "size = " << s << std::endl;
auto i1 = m.begin();
auto i2 = m.end();
for (auto i = 0; i < 5; ++i)
{
std::cout << "key=" << i1->first << " value=" << i1->second << std::endl;
++i1;
if (i1 == i2)
{
// We reached the end so go back to the begining
i1 = m.begin();
}
}
return 0;
}
输出:
size = 2
key=1 value=100
key=2 value=200
key=1 value=100
key=2 value=200
key=1 value=100
相关文章:
- std::向量与传递值的动态数组
- std::sort()函数无法对向量的一部分进行排序
- 如何在旧c++中初始化const-std向量
- 如何检查两个 std::向量在小于 O(n) 的时间复杂度内是否相等
- 使用 std::vector::reverse_iterator 将 int 序列化为字节向量?
- 在 std::无符号字符的向量处存储 int 的十六进制表示形式
- 如何在向量中删除 std::function<void()>?
- 从 std<Derived>::shared_ptr 的向量返回 std::shared_ptr<Base>
- 将无符号字符的向量存储在数组中会给我 std::bad_alloc
- std::find,返回所有找到的值的替代方法,而不仅仅是存在重复的向量的第一个值
- 如何创建一个类,以便向量工作 std::vector<MyClass<int>> v{ 1,2,3 };
- C++ STD 函数运算符:有没有一种方法可以通过函数将一个向量映射到另一个向量上?
- 对的排序向量 (std::vector<pair<int, int>>) 按对的第一个元素搜索并更新第二个元素值
- 使用 std::sort 对向量进行稳定排序
- 如何在C++中将字节向量(std::vector<uint8_t>)转换为不同的uint32_t,uint16_t和uint8_t变量
- C++程序中的向量 std::bad_alloc 错误
- 如何诊断保存和加载位向量(std::vector)的奇怪行为<bool>?
- 用SWIG包裹一个4维标准::向量 std::complex。<float>
- C++ 在抛出字符串向量"std::out_of_range"的实例后调用的终止
- 如何初始化 std::向量 std:固定长度对与默认值