初始化一个成员变量而不引用/使用它是否会在运行时进一步占用 RAM,或者编译器只是忽略该变量?
struct Foo {
int var1;
int var2;
Foo() { var1 = 5; std::cout << var1; }
};
在上面的示例中,成员‘ var1’获取一个值,该值随后显示在控制台中。然而,根本没有使用“ Var2”。因此,在运行时将其写入内存将是一种资源浪费。编译器是否将这些情况纳入帐户并简单地忽略未使用的变量,或者 Foo 对象总是相同的大小,而不管它的成员是否被使用?