C++ 2个值的容器(对于每个浮点数1可操纵整数)

C++ 2个值的容器(对于每个浮点数1可操纵整数),c++,arrays,multidimensional-array,double,containers,C++,Arrays,Multidimensional Array,Double,Containers,我需要包含几个(n)不同浮点值的整数 例如:对于浮点数1465658,我需要包含数字1,并且我需要能够操作 任何时候的整数 < P> C++中有一些容器吗?或者我必须做一些多维数组(如果是的话)?< /P> 类似于:float[1465658]=3; 新浮点数[198978]=0 std::map?只要你的钥匙是独一无二的 std::map<double, int> myMap; myMap[1.2465468] = 1; std::map myMap; myMap[1.246

我需要包含几个(n)不同浮点值的整数

  • 例如:对于浮点数1465658,我需要包含数字1,并且我需要能够操作 任何时候的整数
< P> C++中有一些容器吗?或者我必须做一些多维数组(如果是的话)?< /P> 类似于:float[1465658]=3;
新浮点数[198978]=0

std::map
?只要你的钥匙是独一无二的

std::map<double, int> myMap;
myMap[1.2465468] = 1;
std::map myMap;
myMap[1.2465468]=1;

请注意,根据值的粒度,您可能会遇到浮点舍入不精确的情况,最终可能会覆盖现有条目。

映射中使用浮点数字作为键听起来非常可怕。
。为什么这样可怕?只要不在映射中添加任何NaN值,它就可以正常工作。我希望通过另一种方式,插入一个新的键,尽管您希望操作现有的条目。是的。。“多重贴图”基本上是无用的,而且您无法真正克服任何精度问题。您将最终将多个整数映射到同一个双精度。我已经编辑了我的答案。@Danielfisher-当然,我的评论是错的。我与基里尔和你有相同的观点。