假设我有一个带有昂贵构造函数的类,并且假设我不需要创建构造函数,因为它“简单”。在课堂上,我想放一个typedef。总之,它看起来像:
class Expensive {
public:
typedef double data_type;
data_type data[100000][100000];
};
现在,在我的调用代码中,如果我这样做:
Expensive::data_type singleValue;
是要创建Expensive
的临时实例并为数据分配所有空间只是为了访问typedef?
答案 0 :(得分:3)
简单地说:不。该操作没有任何运行效果。即使只是声明一个double也不能保证在运行时有任何影响,因为你没有使用它;)
答案 1 :(得分:0)
没有;您正在访问实际上是该类的静态成员。没有创建实例,因此没有巨大的数组。