【发布时间】:2012-04-11 19:33:59
【问题描述】:
我有一个函数f(a,b),它接受两个输入。我不知道将使用a 和b 的哪些值。我可以在内存上有点浪费(我关心速度)。我希望能够检查f(a,b) 的输出是否已经交付,如果是,请再次交付该输出,而无需重新运行f(a,b) 进程。
在 Python 中使用装饰器很容易做到,但在这里 C++ 实在是太过分了。
【问题讨论】:
-
输入的数据类型是什么?
-
无符号 64 位整数
-
这是我写的generic memoizer。
-
到目前为止,这些答案似乎相当复杂......有没有办法我可以声明一个二维向量并以这种方式检索/设置?
-
@JohnSmith:你不能创建一个由单个 64 位整数索引的向量,更不用说两个。你需要
2**128元素!只是预初始化它会非常非常慢。
标签: c++