将矢量<矢量>元素的值存储在<int>单独的容器上
Storing values for a vector<vector<int>> elements on a separate container
我的代码中有以下结构:
std::vector<std::vector<int>> elems;
并且 elems 中的每个元素(即整数的每个向量)都有我需要跟踪的某个双精度值。元素没有任何可以用作地图键的独特功能(我不喜欢使用它们的指针,但是 elems 向量在程序期间不断增长并被洗牌,因此它们的地址会发生变化)。
考虑到这一点,我想创建一个包含向量和双精度的类,并以这种方式修改结构:
std::vector<MyClass> elems;
因此,价值直接在那里,但我不知道这会对性能产生多大影响。有没有人有更好的解决方案,或者可以指出我可以找到有关此案的更多信息的地方?
提前谢谢大家。
我想创建一个包含向量和双精度的类,并以这种方式修改结构:
std::vector<MyClass> elems;
这是绝对有效的,并且是将double
值与整数集合组合在一起的合理选择。我建议使用这样的普通struct
struct DoubleAndVec {
double value;
std::vector<int> vec;
};
花点时间想想好的名字,它们在这里是必不可少的(MyClass
例如可以改进以及DoubleAndVec
)。
说到性能,在遇到瓶颈之前不要考虑它。如果您这样做,请分析并检查此设计选择是否对您的程序性能有任何影响 - 我对此表示严重怀疑。
相关文章:
- 请解释这句话(cout<<1+int((a<b)^((b-a)&1) )<<endl
- 呼叫运营商<<临时
- 如何防止clang格式在流运算符调用之间添加换行符<<
- <<操作员在下面的行中工作
- EASTL矢量<向量<int>>连续的
- C - 创建矢量&lt; vector&lt; double&gt;&gt;矩阵具有分配而不是inizializ
- 为什么将此对向量&lt; map&lt; int,int&gt;&gt;中的地图进行更新.失败
- C :对矢量进行排序&lt; struct&gt;(结构有2个整数)基于结构的整数之一
- 明确的专业化“ CheckIntmap&lt;&gt;”实例化
- 什么是模板&lt;&gt;inline bla bla
- 编辑C Qlist&lt; object*&gt; gt;QML代码和一些QML警告中的模型
- eigen :: llt&lt;eigen :: matrixxd&gt;具有不完整的类型
- 错误,包括&lt; ctype&gt;在原子上使用C 11
- std::vector<;uint8_t>;当C++11/14启用时,手动复制而不是调用memcpy
- 如何加入向量&lt; int&gt;到C 中的单个INT
- 是std :: set&lt; std :: future&gt;不可能存在
- 是numeric_limits&lt; int&gt; :: is_modulo从逻辑上矛盾
- opencv 2.4.7在iOS错误背景_segm.hpp #include&lt; list&gt;未找到
- 在修改列表后,std :: list&lt; t&gt; :: end()的值是否会更改
- ///<评论></评论>在Visual Studio中