我正在尝试了解某人最近所做的代码更改的含义/副作用/优点。变化如下:
原创
static List<type1> Data;
已修改
static List<type1> & getData (void)
{
static List<type1> * iList = new List<type1>;
return * iList;
}
#define Data getData()
改变的目的是什么?
最佳答案
我能看到的修订版的好处是“初始化时间”问题。
旧代码在调用 main()
之前触发了初始化。
新代码直到第一次调用getData()
才会触发初始化;如果从未调用该函数,则无需为初始化未使用的变量付费。 (次要)缺点是每次使用函数时都会在生成的代码中进行初始化检查,并且每次需要访问数据列表时都会调用函数。
关于c++ - 此代码更改的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8865164/