在 headers 中,变量是否应该声明为 "extern",即使它们是 class 数据成员?
In headers, should variables be declared as "extern" even if they are class data members?
我在其他帖子中读到,如果 header 被导入多个 .cpp 文件,header 变量应该使用“extern”声明以防止多重定义/内存分配。
这些变量是class数据成员时也是这样吗?我认为不是,因为包括 class header 不会创建实例,所以我不明白为什么会发生内存分配,但我不确定。
答案是否定的。这样做会生成 compiler error.
我在其他帖子中读到,如果 header 被导入多个 .cpp 文件,header 变量应该使用“extern”声明以防止多重定义/内存分配。
这些变量是class数据成员时也是这样吗?我认为不是,因为包括 class header 不会创建实例,所以我不明白为什么会发生内存分配,但我不确定。
答案是否定的。这样做会生成 compiler error.