我想问一下使用这种模式是否是一个好的做法:
我有一个包含一些原始数据的类。我想从这些数据中得出一些信息,例如:
class my_class{
public:
int get_integers_sum();
private:
std::vector<int> all_integers;
};
假设 all_integers 不会改变。这样做好吗:
class my_class{
public:
int get_integers_sum(){
if(sum==-1){
sum=sum=std::acculmate(all_integeres);// the proper code ofcourse
}
return sum;
}
private:
std::vector<int> all_integers;
int sum=-1;
};
最佳答案
当您知道输入不会改变时,这是一个有用的模式。这种方法的通用名称是 memoization 。您的实现有点缺陷,因为 all_integers
的总和实际上可能是 -1。
关于c++ - 计算第一次,加载第二次模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33188744/