如何有效地用向量填充结构
How to efficiently fill-in a structure with vectors?
我不是C++方面的专家,但我相信这不是最优雅的解决方案:
#include <iostream>
#include <vector>
struct coord {
int x;
int y;
};
int main()
{ std::vector<int> a {1,2,3,4,5};
std::vector<int> b {10,20,30,40,50};
int i;
std::vector<coord> loc (5);
for (i=0;i<5;i++)
{ loc[i].x = a[i];
loc[i].y = b[i];
}
return 0;
}
有人有更好的解决方案吗?
看起来您正在使用 C++11。虽然我不是 100% 确定这应该有效:
std::vector<coord> loc { {1, 10}, {2, 20}, {3, 30}, {4, 40}, {5, 50} };
通过创建两个向量来填充一个向量,你想达到什么目的?在声明两个独立的向量以分配给一个向量时,您的方法效率低下,而且也很混乱。删除两个向量并使用括号设置向量的值
= { {val1,val2} {val1,val2} {val1,val2} }
但是,如果您想坚持使用矢量填充方法并且必须使用向量,那么只需一个同时保存 a 和 b 值的向量以及这样的循环
//check to make sure size is even
for(int i = 0; i < vect.size(); i +=2)
{
vect[i].x = a[i];
vect[i].y = a[i+1];
}
相关文章:
- 使用结构成员指针在C++中填充结构
- C++:使用缓冲区中的数据填充结构
- 用二进制文件填充结构
- 如何使用文件填充结构(下面附有的代码)?
- 使用 snprintf 填充结构
- 使用来自函数的指针填充结构数组
- 使用循环填充结构
- C 从文件中填充结构数组
- C 如何从UCHAR数组中填充结构的位字段
- 如何有效地用向量填充结构
- 避免在C 中填充结构
- 如何填充结构的向量
- C/C++ 从字符缓冲区读取以填充结构
- 从 std::vector<无符号字符中的数据填充结构>
- 从矢量中擦除元素,并向量填充结构
- 结构错误的构造函数(调用类的构造函数 denconstructor,用于填充结构)
- 有没有办法用较短的代码来填充结构
- 填充结构,同时查找min_element,C++
- 在函数中填充结构映射的最好方法是什么?
- 当编译器决定填充结构时