C++11 查找表是否有std实现?
我想从具有线性插值的查找表中获取材质特性。有这样的std实现吗 否则我将自己实现,使用两个向量x和y。用下界在x中找到正确的位置,然后用x插值。我能做得更好吗?您可以使用订购的。因此,对于给定的数字C++11 查找表是否有std实现?,c++11,lookup-tables,C++11,Lookup Tables,我想从具有线性插值的查找表中获取材质特性。有这样的std实现吗 否则我将自己实现,使用两个向量x和y。用下界在x中找到正确的位置,然后用x插值。我能做得更好吗?您可以使用订购的。因此,对于给定的数字n,获取它下面的映射项(with)和它上面的映射项(with,或者简单地通过增加下限给出的迭代器),然后插值 您还可以使用一个简单的向量或成对数组,按照它们的键进行排序,然后对二分法访问(二进制搜索)进行编码。这可能比std::map快(例如,由于缓存位置的原因)。请参阅。没有内置的,不……你必须四处
n
,获取它下面的映射项(with)和它上面的映射项(with,或者简单地通过增加下限
给出的迭代器),然后插值
您还可以使用一个简单的向量或成对数组,按照它们的键进行排序,然后对二分法访问(二进制搜索)进行编码。这可能比std::map快(例如,由于缓存位置的原因)。请参阅。没有内置的,不……你必须四处寻找一个库或编写自己的库。一旦你得到
下限
,为什么你需要调用上限
?你得到了一个迭代器,增加这个迭代器已经得到了正确的结果,不是吗?谢谢,改进了我的答案!这是已知的非性能关键代码的合理第一近似值。但是查找表通常非常稳定,这使得排序的std::vector
成为性能关键代码的最佳初始选择。