Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++11 查找表是否有std实现?_C++11_Lookup Tables - Fatal编程技术网

C++11 查找表是否有std实现?

C++11 查找表是否有std实现?,c++11,lookup-tables,C++11,Lookup Tables,我想从具有线性插值的查找表中获取材质特性。有这样的std实现吗 否则我将自己实现,使用两个向量x和y。用下界在x中找到正确的位置,然后用x插值。我能做得更好吗?您可以使用订购的。因此,对于给定的数字n,获取它下面的映射项(with)和它上面的映射项(with,或者简单地通过增加下限给出的迭代器),然后插值 您还可以使用一个简单的向量或成对数组,按照它们的键进行排序,然后对二分法访问(二进制搜索)进行编码。这可能比std::map快(例如,由于缓存位置的原因)。请参阅。没有内置的,不……你必须四处

我想从具有线性插值的查找表中获取材质特性。有这样的std实现吗

否则我将自己实现,使用两个向量x和y。用下界在x中找到正确的位置,然后用x插值。我能做得更好吗?

您可以使用订购的。因此,对于给定的数字
n
,获取它下面的映射项(with)和它上面的映射项(with,或者简单地通过增加
下限
给出的迭代器),然后插值


您还可以使用一个简单的向量或成对数组,按照它们的键进行排序,然后对二分法访问(二进制搜索)进行编码。这可能比std::map快(例如,由于缓存位置的原因)。

请参阅。没有内置的,不……你必须四处寻找一个库或编写自己的库。一旦你得到
下限
,为什么你需要调用
上限
?你得到了一个迭代器,增加这个迭代器已经得到了正确的结果,不是吗?谢谢,改进了我的答案!这是已知的非性能关键代码的合理第一近似值。但是查找表通常非常稳定,这使得排序的
std::vector
成为性能关键代码的最佳初始选择。